about summary refs log tree commit diff
path: root/nixos/modules/misc
diff options
context:
space:
mode:
authorRobert Hensing <robert@roberthensing.nl>2018-11-04 23:09:43 +0100
committerRobert Hensing <robert@roberthensing.nl>2018-11-04 23:09:43 +0100
commitb682778366f91bd3a2b5746cfc951ad429904f16 (patch)
tree503d514660fa9b91fdf11ad66f31b79156bbfdd9 /nixos/modules/misc
parent51c6f51390ba3c0bfefc1bf8437cb265c92395f4 (diff)
downloadnixlib-b682778366f91bd3a2b5746cfc951ad429904f16.tar
nixlib-b682778366f91bd3a2b5746cfc951ad429904f16.tar.gz
nixlib-b682778366f91bd3a2b5746cfc951ad429904f16.tar.bz2
nixlib-b682778366f91bd3a2b5746cfc951ad429904f16.tar.lz
nixlib-b682778366f91bd3a2b5746cfc951ad429904f16.tar.xz
nixlib-b682778366f91bd3a2b5746cfc951ad429904f16.tar.zst
nixlib-b682778366f91bd3a2b5746cfc951ad429904f16.zip
nixos/../nixpkgs.nix: Add assertions to check pkgs' system
Diffstat (limited to 'nixos/modules/misc')
-rw-r--r--nixos/modules/misc/nixpkgs.nix19
1 files changed, 19 insertions, 0 deletions
diff --git a/nixos/modules/misc/nixpkgs.nix b/nixos/modules/misc/nixpkgs.nix
index 461a3b68ed61..2bebbdcad94a 100644
--- a/nixos/modules/misc/nixpkgs.nix
+++ b/nixos/modules/misc/nixpkgs.nix
@@ -218,5 +218,24 @@ in
     _module.args = {
       pkgs = finalPkgs;
     };
+
+    assertions = [
+      (
+        let
+          nixosExpectedSystem =
+            if config.nixpkgs.crossSystem != null
+            then config.nixpkgs.crossSystem.system
+            else config.nixpkgs.localSystem.system;
+          nixosOption =
+            if config.nixpkgs.crossSystem != null
+            then "nixpkgs.crossSystem"
+            else "nixpkgs.localSystem";
+          pkgsSystem = finalPkgs.stdenv.targetPlatform.system;
+        in {
+          assertion = nixosExpectedSystem == pkgsSystem;
+          message = "The NixOS nixpkgs.pkgs option was set to a Nixpkgs invocation that compiles to target system ${pkgsSystem} but NixOS was configured for system ${nixosExpectedSystem} via NixOS option ${nixosOption}. The NixOS system settings must match the Nixpkgs target system.";
+        }
+      )
+    ];
   };
 }