summary refs log tree commit diff
path: root/nixos/modules
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2015-02-27 14:32:22 +0100
committerEelco Dolstra <eelco.dolstra@logicblox.com>2015-02-27 14:32:54 +0100
commit22d2fc3657d269874df3229564ca7eee499aab92 (patch)
tree0ee707fbc1b4a89238af4ffd9917279543d20555 /nixos/modules
parent3a31043b43be834bbfa0722d1d9ed0692bfc4c7c (diff)
downloadnixlib-22d2fc3657d269874df3229564ca7eee499aab92.tar
nixlib-22d2fc3657d269874df3229564ca7eee499aab92.tar.gz
nixlib-22d2fc3657d269874df3229564ca7eee499aab92.tar.bz2
nixlib-22d2fc3657d269874df3229564ca7eee499aab92.tar.lz
nixlib-22d2fc3657d269874df3229564ca7eee499aab92.tar.xz
nixlib-22d2fc3657d269874df3229564ca7eee499aab92.tar.zst
nixlib-22d2fc3657d269874df3229564ca7eee499aab92.zip
Fix "systemctl reload container@"
Fixes #5179.
Diffstat (limited to 'nixos/modules')
-rw-r--r--nixos/modules/virtualisation/containers.nix1
-rw-r--r--nixos/modules/virtualisation/nixos-container.pl5
2 files changed, 4 insertions, 2 deletions
diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix
index c461cf8c00cb..ea6bc641dad8 100644
--- a/nixos/modules/virtualisation/containers.nix
+++ b/nixos/modules/virtualisation/containers.nix
@@ -10,6 +10,7 @@ let
     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;
   };
 
diff --git a/nixos/modules/virtualisation/nixos-container.pl b/nixos/modules/virtualisation/nixos-container.pl
index 94edfb37948a..1455f7143f13 100644
--- a/nixos/modules/virtualisation/nixos-container.pl
+++ b/nixos/modules/virtualisation/nixos-container.pl
@@ -8,6 +8,7 @@ use Fcntl ':flock';
 use Getopt::Long qw(:config gnu_getopt);
 
 my $nsenter = "@utillinux@/bin/nsenter";
+my $su = "@su@";
 
 # Ensure a consistent umask.
 umask 0022;
@@ -271,14 +272,14 @@ elsif ($action eq "login") {
 }
 
 elsif ($action eq "root-login") {
-    runInContainer("su", "root", "-l");
+    runInContainer("@su@", "root", "-l");
 }
 
 elsif ($action eq "run") {
     shift @ARGV; shift @ARGV;
     # Escape command.
     my $s = join(' ', map { s/'/'\\''/g; "'$_'" } @ARGV);
-    runInContainer("su", "root", "-l", "-c", "exec " . $s);
+    runInContainer("@su@", "root", "-l", "-c", "exec " . $s);
 }
 
 elsif ($action eq "show-ip") {