summaryrefslogtreecommitdiffstats
path: root/flake.nix
diff options
context:
space:
mode:
authorNaïm Favier <n@monade.li>2021-12-17 15:30:32 +0100
committerNaïm Favier <n@monade.li>2022-01-27 22:13:35 +0100
commit5ab62e17b51087d3ee38684c3911354ec70f5f0b (patch)
treec0780bc56c5e703e529da0495567d8bab39d15f7 /flake.nix
parent5a07097772e18ac68600038dbcafda2310227190 (diff)
nixos: move default module location logic to `eval-config.nix`
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix34
1 files changed, 6 insertions, 28 deletions
diff --git a/flake.nix b/flake.nix
index 29dffa9fa4e4..c48d6c68e583 100644
--- a/flake.nix
+++ b/flake.nix
@@ -21,35 +21,13 @@
nixos = import ./nixos/lib { lib = final; };
- nixosSystem = { modules, ... } @ args:
+ nixosSystem = args:
import ./nixos/lib/eval-config.nix (args // {
- modules =
- let
- moduleDeclarationFile =
- let
- # Even though `modules` is a mandatory argument for `nixosSystem`, it doesn't
- # mean that the evaluator always keeps track of its position. If there
- # are too many levels of indirection, the position gets lost at some point.
- intermediatePos = builtins.unsafeGetAttrPos "modules" args;
- in
- if intermediatePos == null then null else intermediatePos.file;
-
- # Add the invoking file as error message location for modules
- # that don't have their own locations; presumably inline modules.
- addModuleDeclarationFile =
- m: if moduleDeclarationFile == null then m else {
- _file = moduleDeclarationFile;
- imports = [ m ];
- };
-
- in
- map addModuleDeclarationFile modules ++ [
- {
- system.nixos.versionSuffix =
- ".${final.substring 0 8 (self.lastModifiedDate or self.lastModified or "19700101")}.${self.shortRev or "dirty"}";
- system.nixos.revision = final.mkIf (self ? rev) self.rev;
- }
- ];
+ modules = args.modules ++ [ {
+ system.nixos.versionSuffix =
+ ".${final.substring 0 8 (self.lastModifiedDate or self.lastModified or "19700101")}.${self.shortRev or "dirty"}";
+ system.nixos.revision = final.mkIf (self ? rev) self.rev;
+ } ];
});
});