diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2014-03-19 10:15:57 +0100 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2014-03-24 12:19:27 +0100 |
commit | 0cca0f477f168cee994b2c90d20b713f2bb67d85 (patch) | |
tree | c5b90fd890813d8f471d8febb1299283a8fb5de4 /nixos/modules/virtualisation/containers.nix | |
parent | 2ace7edb81509189a15a0b8e8d0ee1886be9e725 (diff) | |
download | nixlib-0cca0f477f168cee994b2c90d20b713f2bb67d85.tar nixlib-0cca0f477f168cee994b2c90d20b713f2bb67d85.tar.gz nixlib-0cca0f477f168cee994b2c90d20b713f2bb67d85.tar.bz2 nixlib-0cca0f477f168cee994b2c90d20b713f2bb67d85.tar.lz nixlib-0cca0f477f168cee994b2c90d20b713f2bb67d85.tar.xz nixlib-0cca0f477f168cee994b2c90d20b713f2bb67d85.tar.zst nixlib-0cca0f477f168cee994b2c90d20b713f2bb67d85.zip |
nixos-container-shell -> nixos-container { login | root-shell }
Diffstat (limited to 'nixos/modules/virtualisation/containers.nix')
-rw-r--r-- | nixos/modules/virtualisation/containers.nix | 60 |
1 files changed, 8 insertions, 52 deletions
diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix index cdd9e729dc16..e718398815d2 100644 --- a/nixos/modules/virtualisation/containers.nix +++ b/nixos/modules/virtualisation/containers.nix @@ -14,57 +14,13 @@ let installPhase = "true"; }; - nixos-container-shell = pkgs.writeScriptBin "nixos-container-shell" - '' - #! ${pkgs.bash}/bin/sh -e - - usage() { - echo "Usage: $0 <container-name>" >&2 - echo " $0 (-r|--root-shell) <container-name>" >&2 - } - - args="`getopt --options 'r' -l help -- "$@"`" - eval "set -- $args" - rootShell= - while [ $# -gt 0 ]; do - case "$1" in - (--help) usage; exit 0;; - (-r|--root-shell) rootShell=1;; - (--) shift; break;; - (*) break;; - esac - shift - done - - container="$1" - if [ -z "$container" ]; then - usage - exit 1 - fi - shift - - root="/var/lib/containers/$container" - if ! [ -d "$root" ]; then - echo "$0: container ‘$container’ does not exist" >&2 - exit 1 - fi - - if [ -n "$rootShell" ]; then - socket="$root/var/lib/root-shell.socket" - else - socket="$root/var/lib/login.socket" - fi - if ! [ -S "$socket" ]; then - echo "$0: socket ‘$socket’ does not exist" >&2 - exit 1 - fi - - if [ -n "$rootShell" ]; then - exec ${pkgs.socat}/bin/socat "unix:$socket" - - else - exec ${pkgs.socat}/bin/socat "unix:$socket" -,echo=0,raw - fi - ''; + nixos-container = pkgs.substituteAll { + name = "nixos-container"; + dir = "bin"; + isExecutable = true; + src = ./nixos-container.sh; + inherit (pkgs) bash socat; + }; in @@ -299,7 +255,7 @@ in ${cfg.localAddress} ${name}.containers '') config.containers); - environment.systemPackages = optional (config.containers != {}) nixos-container-shell; + environment.systemPackages = optional (config.containers != {}) nixos-container; }; } |