diff options
author | Naïm Favier <n@monade.li> | 2021-12-17 15:30:32 +0100 |
---|---|---|
committer | Naïm Favier <n@monade.li> | 2022-01-27 22:13:35 +0100 |
commit | 5ab62e17b51087d3ee38684c3911354ec70f5f0b (patch) | |
tree | c0780bc56c5e703e529da0495567d8bab39d15f7 /nixos/lib/eval-config.nix | |
parent | 5a07097772e18ac68600038dbcafda2310227190 (diff) | |
download | nixpkgs-5ab62e17b51087d3ee38684c3911354ec70f5f0b.tar nixpkgs-5ab62e17b51087d3ee38684c3911354ec70f5f0b.tar.gz nixpkgs-5ab62e17b51087d3ee38684c3911354ec70f5f0b.tar.bz2 nixpkgs-5ab62e17b51087d3ee38684c3911354ec70f5f0b.tar.lz nixpkgs-5ab62e17b51087d3ee38684c3911354ec70f5f0b.tar.xz nixpkgs-5ab62e17b51087d3ee38684c3911354ec70f5f0b.tar.zst nixpkgs-5ab62e17b51087d3ee38684c3911354ec70f5f0b.zip |
nixos: move default module location logic to `eval-config.nix`
Diffstat (limited to 'nixos/lib/eval-config.nix')
-rw-r--r-- | nixos/lib/eval-config.nix | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/nixos/lib/eval-config.nix b/nixos/lib/eval-config.nix index e3eb88a60eb..2daaa8a1186 100644 --- a/nixos/lib/eval-config.nix +++ b/nixos/lib/eval-config.nix @@ -21,6 +21,7 @@ evalConfigArgs@ , # !!! See comment about args in lib/modules.nix specialArgs ? {} , modules +, modulesLocation ? (builtins.unsafeGetAttrPos "modules" evalConfigArgs).file or null , # !!! See comment about check in lib/modules.nix check ? true , prefix ? [] @@ -74,7 +75,18 @@ let _module.check = lib.mkDefault check; }; }; - allUserModules = modules ++ legacyModules; + + allUserModules = + let + # Add the invoking file (or specified modulesLocation) as error message location + # for modules that don't have their own locations; presumably inline modules. + locatedModules = + if modulesLocation == null then + modules + else + map (lib.setDefaultModuleLocation modulesLocation) modules; + in + locatedModules ++ legacyModules; noUserModules = evalModulesMinimal ({ inherit prefix specialArgs; |