mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-25 16:33:15 +00:00
modules: Add extendModules to module args
This commit is contained in:
parent
dece37b83a
commit
27644a82a9
@ -121,7 +121,9 @@ rec {
|
||||
};
|
||||
|
||||
config = {
|
||||
_module.args = args;
|
||||
_module.args = {
|
||||
inherit extendModules;
|
||||
} // args;
|
||||
};
|
||||
};
|
||||
|
||||
@ -186,24 +188,26 @@ rec {
|
||||
|
||||
checked = builtins.seq checkUnmatched;
|
||||
|
||||
extendModules = extendArgs@{
|
||||
modules ? [],
|
||||
specialArgs ? {},
|
||||
prefix ? [],
|
||||
}:
|
||||
evalModules (evalModulesArgs // {
|
||||
modules = evalModulesArgs.modules ++ modules;
|
||||
specialArgs = evalModulesArgs.specialArgs or {} // specialArgs;
|
||||
prefix = extendArgs.prefix or evalModulesArgs.prefix;
|
||||
});
|
||||
|
||||
type = lib.types.submoduleWith {
|
||||
inherit modules specialArgs;
|
||||
};
|
||||
|
||||
result = {
|
||||
options = checked options;
|
||||
config = checked (removeAttrs config [ "_module" ]);
|
||||
_module = checked (config._module);
|
||||
|
||||
extendModules = extendArgs@{
|
||||
modules ? [],
|
||||
specialArgs ? {},
|
||||
prefix ? [],
|
||||
}:
|
||||
evalModules (evalModulesArgs // {
|
||||
modules = evalModulesArgs.modules ++ modules;
|
||||
specialArgs = evalModulesArgs.specialArgs or {} // specialArgs;
|
||||
prefix = extendArgs.prefix or evalModulesArgs.prefix;
|
||||
});
|
||||
type = lib.types.submoduleWith {
|
||||
inherit modules specialArgs;
|
||||
};
|
||||
inherit extendModules type;
|
||||
};
|
||||
in result;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user