diff options
author | adisbladis <adisbladis@gmail.com> | 2020-04-19 14:41:18 +0100 |
---|---|---|
committer | adisbladis <adisbladis@gmail.com> | 2020-04-20 07:33:46 +0100 |
commit | ab37d7e7ea6fa44bba109c30dd006037c93cbc52 (patch) | |
tree | d9d5e14be74b9454bac94b184df4313cc016fcb8 /nixos/modules/virtualisation/containers.nix | |
parent | 53c14c4e65cc5d58525fc9ec310d2e49d16d0283 (diff) |
nixos-containers: Add support for custom nixpkgs argument
Diffstat (limited to 'nixos/modules/virtualisation/containers.nix')
-rw-r--r-- | nixos/modules/virtualisation/containers.nix | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix index dad211ef55ba..2db5c117aa7f 100644 --- a/nixos/modules/virtualisation/containers.nix +++ b/nixos/modules/virtualisation/containers.nix @@ -463,10 +463,15 @@ in A specification of the desired configuration of this container, as a NixOS module. ''; - type = lib.mkOptionType { + type = let + confPkgs = if config.pkgs == null then pkgs else config.pkgs; + in lib.mkOptionType { name = "Toplevel NixOS config"; - merge = loc: defs: (import ../../lib/eval-config.nix { + merge = loc: defs: (import (confPkgs.path + "/nixos/lib/eval-config.nix") { inherit system; + pkgs = confPkgs; + baseModules = import (confPkgs.path + "/nixos/modules/module-list.nix"); + inherit (confPkgs) lib; modules = let extraConfig = { @@ -515,6 +520,15 @@ in ''; }; + pkgs = mkOption { + type = types.nullOr types.attrs; + default = null; + example = literalExample "pkgs"; + description = '' + Customise which nixpkgs to use for this container. + ''; + }; + ephemeral = mkOption { type = types.bool; default = false; |