3 ms·
Guix/shepherd is a pretty unusual approach to a system, and in some ways an polar opposite of systemd. The systemd defines declarative configuration formats, i
by theamk 7y ago
Guix/shepherd is a pretty unusual approach to a system, and in some ways an polar opposite of systemd.
The systemd defines declarative configuration formats, include dirs, strict rules and so on to limit what startup scripts can do, and to keep system bootable. You can install many third-party software, and be pretty sure that when you say "stop", it stops; and when you say "status" you will get its status. The cost of that is that some things are non-trivial or require extra steps.
Shepherd, on the other hand, fully trusts user. There are no safeties -- your config file is basically a lisp program running in PID 1. It is up to every programs' author to implement boot logic properly -- an infinite loop can render your system unbootable, and if "stop" command leaves stray processes around.. well, you can fix it yourself.
The only safety Guix provides is an ability to roll back the system to the previous state, so if your latest changes rendered system unbootable, you can undo them.
- eeh 7y agoIs it common for Shepherd users to do dangerous things in Shepherd, or do they mostly just use existing safe functions to define their services?