lib/modules: Scope module evaluation variables more tightly
This is a purely cosmetic change so it's easier to see dependencies between variables.
This commit is contained in:
parent
b3f869febb
commit
b02a3d7b08
@ -65,13 +65,15 @@ rec {
|
||||
};
|
||||
};
|
||||
|
||||
collected = collectModules
|
||||
options =
|
||||
let collected = collectModules
|
||||
(specialArgs.modulesPath or "")
|
||||
(modules ++ [ internalModule ])
|
||||
({ inherit config options lib; } // specialArgs);
|
||||
|
||||
options = mergeModules prefix (reverseList collected);
|
||||
({ inherit lib options config; } // specialArgs);
|
||||
in mergeModules prefix (reverseList collected);
|
||||
|
||||
config =
|
||||
let
|
||||
# Traverse options and extract the option values into the final
|
||||
# config set. At the same time, check whether all option
|
||||
# definitions have matching declarations.
|
||||
@ -79,7 +81,6 @@ rec {
|
||||
# without an infinite recursion. One way around this is to make the
|
||||
# 'config' passed around to the modules be unconditionally unchecked,
|
||||
# and only do the check in 'result'.
|
||||
config = yieldConfig prefix options;
|
||||
yieldConfig = prefix: set:
|
||||
let res = removeAttrs (mapAttrs (n: v:
|
||||
if isOption v then v.value
|
||||
@ -93,6 +94,8 @@ rec {
|
||||
res set._definedNames
|
||||
else
|
||||
res;
|
||||
in yieldConfig prefix options;
|
||||
|
||||
result = {
|
||||
inherit options;
|
||||
config = removeAttrs config [ "_module" ];
|
||||
|
Loading…
Reference in New Issue
Block a user