2024-03-23 20:51:08 +00:00
|
|
|
{ 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
|
2024-03-23 21:33:08 +00:00
|
|
|
wrapProgram "$bin/bin/$prog" \
|
|
|
|
--add-flags '-l $XDG_RUNTIME_DIR/s6/live'
|
2024-03-23 20:51:08 +00:00
|
|
|
done
|
|
|
|
'';
|
|
|
|
});
|
|
|
|
|
2024-03-23 21:33:08 +00:00
|
|
|
persist.private = [
|
|
|
|
".local/share/s6/logs"
|
|
|
|
];
|
|
|
|
|
2024-03-23 20:51:08 +00:00
|
|
|
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
|
|
|
|
}
|