46 lines
964 B
Nix
46 lines
964 B
Nix
{
|
|
replaceVarsWith,
|
|
perl,
|
|
shadow,
|
|
util-linux,
|
|
installShellFiles,
|
|
configurationDirectory ? "/etc/nixos-containers",
|
|
stateDirectory ? "/var/lib/nixos-containers",
|
|
nixosTests,
|
|
}:
|
|
replaceVarsWith {
|
|
name = "nixos-container";
|
|
dir = "bin";
|
|
isExecutable = true;
|
|
src = ./nixos-container.pl;
|
|
|
|
replacements = {
|
|
perl = perl.withPackages (p: [ p.FileSlurp ]);
|
|
su = "${shadow.su}/bin/su";
|
|
|
|
inherit configurationDirectory stateDirectory util-linux;
|
|
};
|
|
|
|
passthru = {
|
|
tests = {
|
|
inherit (nixosTests)
|
|
containers-imperative
|
|
containers-ip
|
|
containers-tmpfs
|
|
containers-ephemeral
|
|
containers-unified-hierarchy
|
|
;
|
|
};
|
|
};
|
|
|
|
nativeBuildInputs = [ installShellFiles ];
|
|
|
|
postInstall = ''
|
|
installShellCompletion --cmd nixos-container \
|
|
--bash ${./nixos-container-completion.sh} \
|
|
--fish ${./nixos-container-completion.fish}
|
|
'';
|
|
|
|
meta.mainProgram = "nixos-container";
|
|
}
|