summary refs log tree commit diff
path: root/lib/modules.nix
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2015-07-28 14:29:29 +0200
committerEelco Dolstra <eelco.dolstra@logicblox.com>2015-07-28 15:04:18 +0200
commit0ca10a445a76e9e88818a986a0691b30b20aaada (patch)
tree31547bb747f24a22ca4153a7ff5cc59c37e7f50b /lib/modules.nix
parentc60e4016e725736c7499d35edac11d7a2df5d9b5 (diff)
downloadnixpkgs-0ca10a445a76e9e88818a986a0691b30b20aaada.tar
nixpkgs-0ca10a445a76e9e88818a986a0691b30b20aaada.tar.gz
nixpkgs-0ca10a445a76e9e88818a986a0691b30b20aaada.tar.bz2
nixpkgs-0ca10a445a76e9e88818a986a0691b30b20aaada.tar.lz
nixpkgs-0ca10a445a76e9e88818a986a0691b30b20aaada.tar.xz
nixpkgs-0ca10a445a76e9e88818a986a0691b30b20aaada.tar.zst
nixpkgs-0ca10a445a76e9e88818a986a0691b30b20aaada.zip
Fix indentation
Diffstat (limited to 'lib/modules.nix')
-rw-r--r--lib/modules.nix65
1 files changed, 33 insertions, 32 deletions
diff --git a/lib/modules.nix b/lib/modules.nix
index 80268e51e11..959abf5e51e 100644
--- a/lib/modules.nix
+++ b/lib/modules.nix
@@ -281,38 +281,39 @@ rec {
         inherit isDefined files;
       };
 
-    # Merge definitions of a value of a given type
-    mergeDefinitions = loc: type: defs: rec {
-      defsFinal =
-        let
-          # Process mkMerge and mkIf properties
-          processIfAndMerge = defs: concatMap (m:
-            map (value: { inherit (m) file; inherit value; }) (dischargeProperties m.value)
-          ) defs;
-
-          # Process mkOverride properties
-          processOverride = defs: filterOverrides defs;
-
-          # Sort mkOrder properties
-          processOrder = defs:
-            # Avoid sorting if we don't have to.
-            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 = foldl' (res: def:
-          if type.check def.value then res
-          else throw "The option value `${showOption loc}' in `${def.file}' is not a ${type.name}.")
-          (type.merge loc defsFinal) defsFinal;
-
-        isDefined = defsFinal != [];
-        optionalValue =
-          if isDefined then { value = mergedValue; }
-          else {};
-    };
+  # Merge definitions of a value of a given type.
+  mergeDefinitions = loc: type: defs: rec {
+    defsFinal =
+      let
+        # Process mkMerge and mkIf properties
+        processIfAndMerge = defs: concatMap (m:
+          map (value: { inherit (m) file; inherit value; }) (dischargeProperties m.value)
+        ) defs;
+
+        # Process mkOverride properties
+        processOverride = defs: filterOverrides defs;
+
+        # Sort mkOrder properties
+        processOrder = defs:
+          # Avoid sorting if we don't have to.
+          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 = foldl' (res: def:
+      if type.check def.value then res
+      else throw "The option value `${showOption loc}' in `${def.file}' is not a ${type.name}.")
+      (type.merge loc defsFinal) defsFinal;
+
+    isDefined = defsFinal != [];
+
+    optionalValue =
+      if isDefined then { value = mergedValue; }
+      else {};
+  };
 
   /* Given a config set, expand mkMerge properties, and push down the
      other properties into the children.  The result is a list of