Commit Graph

51 Commits

Author SHA1 Message Date
Colin 8d8bf00a34 s6-rc: use `s6-rc stop` instead of exiting 125 in the no-restart branch of "restartCondition = on-failure"
exiting 125 stops the service, but does NOT put it in the down state, preventing it from being re-started
2024-05-07 15:24:14 +00:00
Colin 4f56acc316 s6-rc: implement `restartCondition` to allow restarting of the service only on failure 2024-05-07 15:01:40 +00:00
Colin fdf1b20368 s6-rc: propagate service status out of `run` script 2024-05-07 12:50:09 +00:00
Colin 9021ab9f05 s6: fix oneshot service runner
the runner previously couldn't find the 'live' directory, where the service state lives. now it can
2024-04-27 08:05:54 +00:00
Colin 79bba42768 s6-rc: fix oneshot services to generate `up`, not `run` 2024-04-27 06:33:24 +00:00
Colin 8dd4fe06f3 s6: longshot -> longrun (typo) 2024-04-27 05:22:35 +00:00
Colin 19115dfb65 eg25-control: port to s6 (hopefully) 2024-04-26 21:44:13 +00:00
Colin 89d4b0ae0b s6-rc: don't tee to /dev/stderr, as i don't want any logs going to the console and interfering with text entry 2024-03-31 05:20:33 +00:00
Colin 6c5b32aac2 s6-rc: fix so the service manager knows about readiness notifications again 2024-03-26 13:34:38 +00:00
Colin f59dd99470 s6-rc: init services in the "down" state 2024-03-26 12:55:40 +00:00
Colin 55c8a98c33 s6-rc: pre-compute more stuff as nix exprs; don't even run s6-rc-init 2024-03-26 12:36:46 +00:00
Colin 5cd9f34884 s6-rc: remove more unnecessarily files from live dir 2024-03-26 00:45:24 +00:00
Colin 2cabe51956 s6-rc: remove a couple more unused files from the live dir 2024-03-26 00:22:14 +00:00
Colin cb8e9b7a23 s6-rc: make it so, once started, other programs can start/stop services but NOT edit/create them 2024-03-26 00:11:02 +00:00
Colin 4eb6b5735e users/s6-rc: allow `startS6 ""` 2024-03-25 16:46:51 +00:00
Colin 5d3899959b users/s6-rc: split out `compiled` var 2024-03-25 14:56:41 +00:00
Colin ad951ad919 users/s6-rc: add symlink capabilities to my fs abstraction 2024-03-25 14:46:43 +00:00
Colin e62be121e2 users/services: s6: fix so `s6-rc stop` can actually kill processes 2024-03-24 11:48:41 +00:00
Colin 7f8cae42ff s6: migrate to /run/user/$id/s6 2024-03-23 21:33:08 +00:00
Colin 2e58353b0e refactor: users/services: have `waitExists` support waiting on multiple paths 2024-03-23 17:28:29 +00:00
Colin 39de5b84c2 sway: fix readiness check 2024-03-23 15:54:20 +00:00
Colin 4418c16967 users/services: s6: push bundle dependencies down onto the actual atomic services 2024-03-23 13:04:12 +00:00
Colin 8008fd35cb modules/users: allow `readiness.pathExists` 2024-03-23 13:03:11 +00:00
Colin e6c00e6215 users/services: implement dbus readiness checks for s6-rc 2024-03-21 17:16:11 +00:00
Colin fff9d69e3e users/services: s6-rc: implement readiness polling 2024-03-21 17:16:11 +00:00
Colin 4fa7e6113d users/services: s6: `exec` into the run/finish commands 2024-03-21 17:16:11 +00:00
Colin 16ca71188f users/services: simplify the before/after/wantedBy criteria, to match s6 concepts 2024-03-21 17:16:11 +00:00
Colin c5c37e79ac users/services: actually remove the systemd backend 2024-03-21 17:16:11 +00:00
Colin d2f6648bce users/services: refactor: replace ExecStart/ExecStopPost with command/cleanupCommand
note that this completely breaks the systemd backend (though easily fixable if wanted)
2024-03-21 17:16:11 +00:00
Colin 5c9c7f8073 modules/users/s6-rc: add per-service logging 2024-03-21 17:16:11 +00:00
Colin 218072b2fe refactor: modules/users/s6-rc.nix 2024-03-21 17:16:11 +00:00
Colin d4f217a4f5 refactor: modules/users/s6-rc.nix 2024-03-21 17:16:11 +00:00
Colin 40f6f88a64 users/services: s6: remove broken `log` stuff
apparently the /log shorthand is only applicable to base `s6-supervise`,
and not `s6-rc`. "pipeline"s are the s6-rc equivalent:
<https://wiki.gentoo.org/wiki/S6-rc#Longrun_pipelining>
2024-03-21 17:16:11 +00:00
Colin fbbb09322a users/services: s6-rc: support ExecStopPost option 2024-03-21 17:16:11 +00:00
Colin e7153ce4a1 users/services: remove ExecStartPre option 2024-03-21 17:16:11 +00:00
Colin b13e7c38c7 users/services: remove `script` option 2024-03-21 17:16:11 +00:00
Colin 1417497001 users/services: remove serviceConfig.Type option 2024-03-21 17:16:11 +00:00
Colin db12e03f64 users/services: remove `oneshot` service type 2024-03-21 17:16:11 +00:00
Colin dee4866737 users/services: remove `ConditionEnvironment` option 2024-03-21 17:16:11 +00:00
Colin 81a6c53c26 users/services: remove RemainAfterExit option 2024-03-21 17:16:11 +00:00
Colin 9afd9725d1 users: services: remove no-longer-needed `Restart` and `RestartSec` options 2024-03-21 17:16:11 +00:00
Colin 452619dbfc s6: log when a service starts up
it still seems to be all logging into a single file though?
2024-03-21 17:16:11 +00:00
Colin 8bedc860ae s6: add some minimal logging
the root s6 call seems to be doing some logging, notably feedbackd; still don't know where the other logs are going
2024-03-21 17:16:11 +00:00
Colin cbecdc4a95 s6: use `exec` in the `run` trampoline, to forward file descriptors and keep a cleaner process tree 2024-03-21 17:16:11 +00:00
Colin e1001f57c5 modules/users: remove no-longer-need `environment` option 2024-03-21 17:16:11 +00:00
Colin 2336767059 port service manager to s6
still a lot of cleanup to do (e.g. support dbus service types), but it boots to a usable desktop
2024-03-21 17:16:11 +00:00
Colin 05b37669e3 s6-rc: fix service `run` file to have expected format 2024-03-21 17:16:11 +00:00
Colin ea9768c6ab modules/users: prototype s6 integration: ~/.config/s6/{sources,compiled} 2024-03-21 17:16:11 +00:00
Colin 38353dbc29 modules/users: remove unused `requiredBy` service option 2024-03-21 17:16:11 +00:00
Colin ef4a8e1989 modules: users: split services -> fs mapping into own `systemd.nix` file 2024-03-21 17:16:11 +00:00