2025-01-29 14:00:29 +01:00

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";
}