nixos/../nixpkgs.nix: Add assertions to check pkgs' system
This commit is contained in:
parent
51c6f51390
commit
b682778366
@ -218,5 +218,24 @@ in
|
|||||||
_module.args = {
|
_module.args = {
|
||||||
pkgs = finalPkgs;
|
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.";
|
||||||
|
}
|
||||||
|
)
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user