From dd4f5f6b789c7fb2cac45cb8024e87bdb13c9740 Mon Sep 17 00:00:00 2001 From: "Nicolas B. Pierron" Date: Thu, 12 Mar 2015 22:38:51 +0100 Subject: [PATCH] Rename mergeDefinitions internal steps to functions which are independent of each others. --- lib/modules.nix | 15 ++++++++------- 1 file 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: