summary refs log tree commit diff
diff options
context:
space:
mode:
authorEric Merritt <ericbmerritt@gmail.com>2016-07-18 23:13:06 -0700
committerFranz Pletz <fpletz@fnordicwalking.de>2016-07-19 08:13:06 +0200
commiteb92804f914a8a40339473ebd641f0a93d8576b9 (patch)
tree591417299ee8cb66b42542676cc3ea2a102d1c56
parente2199205c7012fc9cfeaf89e85fe3bb8084b82a4 (diff)
downloadnixpkgs-eb92804f914a8a40339473ebd641f0a93d8576b9.tar
nixpkgs-eb92804f914a8a40339473ebd641f0a93d8576b9.tar.gz
nixpkgs-eb92804f914a8a40339473ebd641f0a93d8576b9.tar.bz2
nixpkgs-eb92804f914a8a40339473ebd641f0a93d8576b9.tar.lz
nixpkgs-eb92804f914a8a40339473ebd641f0a93d8576b9.tar.xz
nixpkgs-eb92804f914a8a40339473ebd641f0a93d8576b9.tar.zst
nixpkgs-eb92804f914a8a40339473ebd641f0a93d8576b9.zip
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.
-rw-r--r--nixos/modules/virtualisation/containers.nix20
-rw-r--r--pkgs/tools/virtualization/nixos-container/default.nix17
-rw-r--r--pkgs/tools/virtualization/nixos-container/nixos-container-completion.sh (renamed from nixos/modules/virtualisation/nixos-container-completion.sh)0
-rwxr-xr-xpkgs/tools/virtualization/nixos-container/nixos-container.pl (renamed from nixos/modules/virtualisation/nixos-container.pl)0
-rw-r--r--pkgs/top-level/all-packages.nix2
5 files changed, 21 insertions, 18 deletions
diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix
index 13ecb8e25ed..b3870caece0 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 00000000000..0763536533f
--- /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
index 0fe8ab811a1..0fe8ab811a1 100644
--- a/nixos/modules/virtualisation/nixos-container-completion.sh
+++ b/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
index eda57a9751e..eda57a9751e 100755
--- a/nixos/modules/virtualisation/nixos-container.pl
+++ b/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 a1074ce7dbd..6ef41432b18 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 { };