diff --git a/lib/modules.nix b/lib/modules.nix index 184b21de4865..f6b866304d05 100644 --- a/lib/modules.nix +++ b/lib/modules.nix @@ -36,7 +36,7 @@ rec { /* Massage a module into canonical form, that is, a set consisting of ‘options’, ‘config’ and ‘imports’ attributes. */ unifyModuleSyntax = file: key: m: - if m ? config || m ? options || m ? imports then + if m ? config || m ? options then let badAttrs = removeAttrs m ["imports" "options" "config" "key"]; in if badAttrs != {} then throw "Module `${key}' has an unsupported attribute `${head (attrNames badAttrs)}'." @@ -50,9 +50,9 @@ rec { else { inherit file; key = m.key or key; - imports = m.require or []; + imports = m.require or [] ++ m.imports or []; options = {}; - config = removeAttrs m ["key" "require"]; + config = removeAttrs m ["key" "require" "imports"]; }; applyIfFunction = f: arg: if builtins.isFunction f then f arg else f;