nix-files/hosts/common/programs/s6-rc.nix

35 lines
1.2 KiB
Nix

{ pkgs, ... }:
{
sane.programs.s6-rc = {
packageUnwrapped = pkgs.s6-rc.overrideAttrs (upstream: {
nativeBuildInputs = (upstream.nativeBuildInputs or []) ++ (with pkgs; [
makeWrapper
]);
# s6-rc looks for files in /run/s6/{live,compiled,...} by default.
# let's patch that to be a user-specific runtime dir, since i run it as an ordinary user.
# note that one can still manually specify --live; later definitions will override earlier definitions.
postInstall = (upstream.postInstall or "") + ''
for prog in s6-rc s6-rc-bundle s6-rc-db s6-rc-format-upgrade s6-rc-init s6-rc-update; do
wrapProgram "$bin/bin/$prog" \
--add-flags '-l $XDG_RUNTIME_DIR/s6/live'
done
'';
});
persist.private = [
".local/share/s6/logs"
];
sandbox.enable = false; # service manager
suggestedPrograms = [
"s6-rc-man-pages"
"s6" #< TODO: i think i only need s6-svscan?
"s6-man-pages"
];
};
sane.programs.s6.sandbox.enable = false; # service manager
sane.programs.s6-man-pages.sandbox.enable = false; # no binaries
sane.programs.s6-rc-man-pages.sandbox.enable = false; # no binaries
}