From eb92804f914a8a40339473ebd641f0a93d8576b9 Mon Sep 17 00:00:00 2001 From: Eric Merritt Date: Mon, 18 Jul 2016 23:13:06 -0700 Subject: [PATCH] nixos-containers: init package (#16959) This moves nixos-containers into its own package so that it can be relied upon by other packages/systems. This should make development using dynamic containers much easier. --- nixos/modules/virtualisation/containers.nix | 20 ++----------------- .../nixos-container/default.nix | 17 ++++++++++++++++ .../nixos-container-completion.sh | 0 .../nixos-container}/nixos-container.pl | 0 pkgs/top-level/all-packages.nix | 2 ++ 5 files changed, 21 insertions(+), 18 deletions(-) create mode 100644 pkgs/tools/virtualization/nixos-container/default.nix rename {nixos/modules/virtualisation => pkgs/tools/virtualization/nixos-container}/nixos-container-completion.sh (100%) rename {nixos/modules/virtualisation => pkgs/tools/virtualization/nixos-container}/nixos-container.pl (100%) diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix index 13ecb8e25ed5..b3870caece0c 100644 --- a/nixos/modules/virtualisation/containers.nix +++ b/nixos/modules/virtualisation/containers.nix @@ -4,22 +4,6 @@ with lib; let - nixos-container = pkgs.substituteAll { - name = "nixos-container"; - dir = "bin"; - isExecutable = true; - src = ./nixos-container.pl; - perl = "${pkgs.perl}/bin/perl -I${pkgs.perlPackages.FileSlurp}/lib/perl5/site_perl"; - su = "${pkgs.shadow.su}/bin/su"; - inherit (pkgs) utillinux; - - postInstall = '' - t=$out/etc/bash_completion.d - mkdir -p $t - cp ${./nixos-container-completion.sh} $t/nixos-container - ''; - }; - # The container's init script, a small wrapper around the regular # NixOS stage-2 init script. containerInit = pkgs.writeScript "container-init" @@ -410,7 +394,7 @@ in ExecReload = pkgs.writeScript "reload-container" '' #! ${pkgs.stdenv.shell} -e - ${nixos-container}/bin/nixos-container run "$INSTANCE" -- \ + ${pkgs.nixos-container}/bin/nixos-container run "$INSTANCE" -- \ bash --login -c "''${SYSTEM_PATH:-/nix/var/nix/profiles/system}/bin/switch-to-configuration test" ''; @@ -498,6 +482,6 @@ in networking.dhcpcd.denyInterfaces = [ "ve-*" ]; - environment.systemPackages = [ nixos-container ]; + environment.systemPackages = [ pkgs.nixos-container ]; }); } diff --git a/pkgs/tools/virtualization/nixos-container/default.nix b/pkgs/tools/virtualization/nixos-container/default.nix new file mode 100644 index 000000000000..0763536533f0 --- /dev/null +++ b/pkgs/tools/virtualization/nixos-container/default.nix @@ -0,0 +1,17 @@ +{ substituteAll, perl, perlPackages, shadow, utillinux }: + +substituteAll { + name = "nixos-container"; + dir = "bin"; + isExecutable = true; + src = ./nixos-container.pl; + perl = "${perl}/bin/perl -I${perlPackages.FileSlurp}/lib/perl5/site_perl"; + su = "${shadow.su}/bin/su"; + inherit utillinux; + + postInstall = '' + t=$out/etc/bash_completion.d + mkdir -p $t + cp ${./nixos-container-completion.sh} $t/nixos-container + ''; +} diff --git a/nixos/modules/virtualisation/nixos-container-completion.sh b/pkgs/tools/virtualization/nixos-container/nixos-container-completion.sh similarity index 100% rename from nixos/modules/virtualisation/nixos-container-completion.sh rename to pkgs/tools/virtualization/nixos-container/nixos-container-completion.sh diff --git a/nixos/modules/virtualisation/nixos-container.pl b/pkgs/tools/virtualization/nixos-container/nixos-container.pl similarity index 100% rename from nixos/modules/virtualisation/nixos-container.pl rename to pkgs/tools/virtualization/nixos-container/nixos-container.pl diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a1074ce7dbdc..6ef41432b184 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16979,6 +16979,8 @@ in nixos-artwork = callPackage ../data/misc/nixos-artwork { }; + nixos-container = callPackage ../tools/virtualization/nixos-container { }; + norwester-font = callPackage ../data/fonts/norwester {}; nut = callPackage ../applications/misc/nut { };