summaryrefslogtreecommitdiffstats
path: root/nixos/modules/virtualisation/containers.nix
diff options
context:
space:
mode:
authoradisbladis <adisbladis@gmail.com>2020-04-19 14:41:18 +0100
committeradisbladis <adisbladis@gmail.com>2020-04-20 07:33:46 +0100
commitab37d7e7ea6fa44bba109c30dd006037c93cbc52 (patch)
treed9d5e14be74b9454bac94b184df4313cc016fcb8 /nixos/modules/virtualisation/containers.nix
parent53c14c4e65cc5d58525fc9ec310d2e49d16d0283 (diff)
nixos-containers: Add support for custom nixpkgs argument
Diffstat (limited to 'nixos/modules/virtualisation/containers.nix')
-rw-r--r--nixos/modules/virtualisation/containers.nix18
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;