lib/types: Simplify submoduleWith shorthandOnlyDefinesConfig handling

The module system already uses the parent module's _file as a fallback,
so we don't need to inject the file in a weird way
This commit is contained in:
Silvan Mosberger 2020-09-27 16:39:57 +02:00 committed by Robert Hensing
parent 79441600c2
commit 907627f656

View File

@ -580,19 +580,10 @@ rec {
let
inherit (lib.modules) evalModules;
shorthandToModule = if shorthandOnlyDefinesConfig == false
then value: value
else value: { config = value; };
allModules = defs: imap1 (n: { value, file }:
if isFunction value
then setFunctionArgs
(args: lib.modules.unifyModuleSyntax file "${toString file}-${toString (n + extensionOffset)}" (value args))
(functionArgs value)
else if isAttrs value
then
lib.modules.unifyModuleSyntax file "${toString file}-${toString (n + extensionOffset)}" (shorthandToModule value)
else value
if isAttrs value && shorthandOnlyDefinesConfig
then { _file = file; config = value; }
else { _file = file; imports = [ value ]; }
) defs;
base = evalModules {