Comment by relistan
9 days ago
I’ve used various forms of S6 init, you might take a look. It has its own scripting called execline, which is good, but you can also just use any shell. It doesn’t do everything systemd does but it’s quite small and very modular. https://skarnet.org/software/s6-linux-init/why.html
I like the general idea of execline, but I feel like it relies too much on chaining. It's a bit like Lisp, but without any parens - it hurts readability.
It went from "shells have too much syntax, which creates security issues" straight into "forth with blocks". My idea: runit already provides chpst, which folds things like cd, chroot, nice, etc into a single command; so let's put it all into a block with named parameters. Like this:
Maybe it could draw a bit from rc, which has actual lists as a first-class data structure.
I'm not exactly sure about the syntax, but that's the general direction.
Execline is available but not in any way required to use S6.