diff --git a/lib/eval-config.nix b/lib/eval-config.nix index 28db11e45c5..77c20caf604 100644 --- a/lib/eval-config.nix +++ b/lib/eval-config.nix @@ -47,17 +47,20 @@ rec { pkgs = if pkgs_ != null then pkgs_ - else import nixpkgs { - inherit system; - config = - (import ./eval-config.nix { + else import nixpkgs ( + let + nixpkgsOptions = (import ./eval-config.nix { inherit system nixpkgs services extraArgs modules; # For efficiency, leave out most NixOS modules; they don't # define nixpkgs.config, so it's pointless to evaluate them. baseModules = [ ../modules/misc/nixpkgs.nix ]; pkgs = import nixpkgs { inherit system; config = {}; }; - }).optionDefinitions.nixpkgs.config; - }; + }).optionDefinitions.nixpkgs; + in + { + inherit system; + inherit (nixpkgsOptions) config platform; + }); # Optionally check wether all config values have corresponding # option declarations. diff --git a/modules/misc/nixpkgs.nix b/modules/misc/nixpkgs.nix index 68e7e2517f9..8173d716d84 100644 --- a/modules/misc/nixpkgs.nix +++ b/modules/misc/nixpkgs.nix @@ -13,5 +13,12 @@ ''; }; + nixpkgs.platform = pkgs.lib.mkOption { + default = pkgs.platforms.pc; + description = '' + The platform for the Nix Packages collection. + ''; + }; + }; -} \ No newline at end of file +}