diff --git a/lib/modules.nix b/lib/modules.nix index 44db77b5d1c6..d2489947d863 100644 --- a/lib/modules.nix +++ b/lib/modules.nix @@ -123,7 +123,7 @@ rec { if m ? config || m ? options then let badAttrs = removeAttrs m ["_file" "key" "disabledModules" "imports" "options" "config" "meta"]; in if badAttrs != {} then - throw "Module `${key}' has an unsupported attribute `${head (attrNames badAttrs)}'. This is caused by assignments to the top-level attributes `config' or `options'." + throw "Module `${key}' has an unsupported attribute `${head (attrNames badAttrs)}'. This is caused by introducing a top-level `config' or `options' attribute. Add configuration attributes immediately on the top level instead, or move all of them (namely: ${toString (attrNames badAttrs)}) into the explicit `config' attribute." else { file = m._file or file; key = toString m.key or key;