diff options
author | github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> | 2022-10-20 18:10:43 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-20 18:10:43 +0000 |
commit | 80317024cfd5d58ce4e07d18851e686b63727484 (patch) | |
tree | 91ba01410338a7d277a5b0f0449e06ecda3a1e57 /nixos | |
parent | 9cf461a6450a2f741e9066a95f9f163c42960fe9 (diff) | |
parent | b7d8c687782c8f9a1d425a7e486eb989654f6468 (diff) |
Merge master into staging-next
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/modules/misc/nixpkgs.nix | 7 | ||||
-rw-r--r-- | nixos/modules/misc/nixpkgs/test.nix | 6 |
2 files changed, 12 insertions, 1 deletions
diff --git a/nixos/modules/misc/nixpkgs.nix b/nixos/modules/misc/nixpkgs.nix index e8becb6bf8cc7..5bd7eb1408b2a 100644 --- a/nixos/modules/misc/nixpkgs.nix +++ b/nixos/modules/misc/nixpkgs.nix @@ -55,6 +55,11 @@ let check = builtins.isAttrs; }; + # Whether `pkgs` was constructed by this module - not if nixpkgs.pkgs or + # _module.args.pkgs is set. However, determining whether _module.args.pkgs + # is defined elsewhere does not seem feasible. + constructedByMe = !opt.pkgs.isDefined; + hasBuildPlatform = opt.buildPlatform.highestPrio < (mkOptionDefault {}).priority; hasHostPlatform = opt.hostPlatform.isDefined; hasPlatform = hasHostPlatform || hasBuildPlatform; @@ -358,7 +363,7 @@ in } ) { - assertion = hasPlatform -> legacyOptionsDefined == []; + assertion = constructedByMe -> hasPlatform -> legacyOptionsDefined == []; message = '' Your system configures nixpkgs with the platform parameter${optionalString hasBuildPlatform "s"}: ${hostPlatformLine diff --git a/nixos/modules/misc/nixpkgs/test.nix b/nixos/modules/misc/nixpkgs/test.nix index 9e8851707f8fc..a6d8877ae0700 100644 --- a/nixos/modules/misc/nixpkgs/test.nix +++ b/nixos/modules/misc/nixpkgs/test.nix @@ -59,5 +59,11 @@ lib.recurseIntoAttrs { For a future proof system configuration, we recommend to remove the legacy definitions. '']; + assert getErrors { + nixpkgs.localSystem = pkgs.stdenv.hostPlatform; + nixpkgs.hostPlatform = pkgs.stdenv.hostPlatform; + nixpkgs.pkgs = pkgs; + } == []; + pkgs.emptyFile; } |