summary refs log tree commit diff
path: root/lib/modules.nix
diff options
context:
space:
mode:
authorNicolas B. Pierron <nicolas.b.pierron@gmail.com>2015-03-12 22:38:51 +0100
committerNicolas B. Pierron <nicolas.b.pierron@gmail.com>2015-03-12 23:42:58 +0100
commitdd4f5f6b789c7fb2cac45cb8024e87bdb13c9740 (patch)
tree850f1dd16859131aa088b8b08288b6076161bedc /lib/modules.nix
parent83dc60456e44082b4f13c2be19c5e9fbcfd57f74 (diff)
downloadnixpkgs-dd4f5f6b789c7fb2cac45cb8024e87bdb13c9740.tar
nixpkgs-dd4f5f6b789c7fb2cac45cb8024e87bdb13c9740.tar.gz
nixpkgs-dd4f5f6b789c7fb2cac45cb8024e87bdb13c9740.tar.bz2
nixpkgs-dd4f5f6b789c7fb2cac45cb8024e87bdb13c9740.tar.lz
nixpkgs-dd4f5f6b789c7fb2cac45cb8024e87bdb13c9740.tar.xz
nixpkgs-dd4f5f6b789c7fb2cac45cb8024e87bdb13c9740.tar.zst
nixpkgs-dd4f5f6b789c7fb2cac45cb8024e87bdb13c9740.zip
Rename mergeDefinitions internal steps to functions which are independent of each others.
Diffstat (limited to 'lib/modules.nix')
-rw-r--r--lib/modules.nix15
1 files changed, 8 insertions, 7 deletions
diff --git a/lib/modules.nix b/lib/modules.nix
index ca88b28a779..ad573da990f 100644
--- a/lib/modules.nix
+++ b/lib/modules.nix
@@ -274,20 +274,21 @@ rec {
       defsFinal =
         let
           # Process mkMerge and mkIf properties
-          discharged = concatMap (m:
+          processIfAndMerge = defs: concatMap (m:
             map (value: { inherit (m) file; inherit value; }) (dischargeProperties m.value)
           ) defs;
 
           # Process mkOverride properties
-          overridden = filterOverrides discharged;
+          processOverride = defs: filterOverrides defs;
 
           # Sort mkOrder properties
-          sorted =
+          processOrder = defs:
             # Avoid sorting if we don't have to.
-            if any (def: def.value._type or "" == "order") overridden
-            then sortProperties overridden
-            else overridden;
-        in sorted;
+            if any (def: def.value._type or "" == "order") defs
+            then sortProperties defs
+            else defs;
+        in
+          processOrder (processOverride (processIfAndMerge defs));
 
         # Type-check the remaining definitions, and merge them
         mergedValue = fold (def: res: