From b682778366f91bd3a2b5746cfc951ad429904f16 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Sun, 4 Nov 2018 23:09:43 +0100 Subject: nixos/../nixpkgs.nix: Add assertions to check pkgs' system --- nixos/modules/misc/nixpkgs.nix | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'nixos/modules/misc') 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."; + } + ) + ]; }; } -- cgit v1.2.3