forked from mirrors/nixpkgs
nixos/eval-config: Remove statically known mkIf
mkIf is unnecessary when the condition is statically known - that is knowable before entering the module evaluation. By changing this to a precomputed module, we support changing the defined options to readOnly options.
This commit is contained in:
parent
6e594fedb3
commit
693e2c3287
|
@ -38,6 +38,8 @@ let pkgs_ = pkgs;
|
||||||
in
|
in
|
||||||
|
|
||||||
let
|
let
|
||||||
|
inherit (lib) optional;
|
||||||
|
|
||||||
evalModulesMinimal = (import ./default.nix {
|
evalModulesMinimal = (import ./default.nix {
|
||||||
inherit lib;
|
inherit lib;
|
||||||
# Implicit use of feature is noted in implementation.
|
# Implicit use of feature is noted in implementation.
|
||||||
|
@ -47,15 +49,19 @@ let
|
||||||
pkgsModule = rec {
|
pkgsModule = rec {
|
||||||
_file = ./eval-config.nix;
|
_file = ./eval-config.nix;
|
||||||
key = _file;
|
key = _file;
|
||||||
config = {
|
config = lib.mkMerge (
|
||||||
|
(optional (system != null) {
|
||||||
# Explicit `nixpkgs.system` or `nixpkgs.localSystem` should override
|
# Explicit `nixpkgs.system` or `nixpkgs.localSystem` should override
|
||||||
# this. Since the latter defaults to the former, the former should
|
# this. Since the latter defaults to the former, the former should
|
||||||
# default to the argument. That way this new default could propagate all
|
# default to the argument. That way this new default could propagate all
|
||||||
# they way through, but has the last priority behind everything else.
|
# they way through, but has the last priority behind everything else.
|
||||||
nixpkgs.system = lib.mkIf (system != null) (lib.mkDefault system);
|
nixpkgs.system = lib.mkDefault system;
|
||||||
|
})
|
||||||
_module.args.pkgs = lib.mkIf (pkgs_ != null) (lib.mkForce pkgs_);
|
++
|
||||||
};
|
(optional (pkgs_ != null) {
|
||||||
|
_module.args.pkgs = lib.mkForce pkgs_;
|
||||||
|
})
|
||||||
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
withWarnings = x:
|
withWarnings = x:
|
||||||
|
|
Loading…
Reference in a new issue