c37e76b4d2
Using nsenter+su was suboptimal since the environment they provided was not quite the same as the real container environment. See [1] for more background. Note that we directly invoke /bin/sh for `nixos-container root-login` since setting the user's shell is quite complex. See [2] for a related systemd issue. [1]: https://github.com/systemd/systemd/issues/825#issuecomment-127917622 [2]: https://github.com/systemd/systemd/issues/1395
16 lines
406 B
Nix
16 lines
406 B
Nix
{ 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";
|
|
|
|
postInstall = ''
|
|
t=$out/etc/bash_completion.d
|
|
mkdir -p $t
|
|
cp ${./nixos-container-completion.sh} $t/nixos-container
|
|
'';
|
|
}
|