diff options
author | Robert Hensing <roberth@users.noreply.github.com> | 2022-02-06 22:49:17 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-06 22:49:17 +0100 |
commit | 8403e02a5d2ed920b80f8171d048af53e4c84bcb (patch) | |
tree | 966368cb63f142a92a97dff84e3002e1abf67bad /nixos | |
parent | ab253b13327c7d7dfc2daaa7a0e4e13441cc819d (diff) | |
parent | 5ab62e17b51087d3ee38684c3911354ec70f5f0b (diff) |
Merge pull request #126769 from ncfavier/nixosSystem-lib
nixos: move default module location logic to `eval-config.nix`
Diffstat (limited to 'nixos')
-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 e3eb88a60ebae..2daaa8a118632 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; |