cross-posted from: https://programming.dev/post/36342010
Nitro is a tiny process supervisor that also can be used as pid 1 on Linux.
There are four main applications it is designed for:
- As init for a Linux machine for embedded, desktop or server purposes
- As init for a Linux initramfs
- As init for a Linux container (Docker/Podman/LXC/Kubernetes)
- As unprivileged supervision daemon on POSIX systems
Nitro is configured by a directory of scripts, defaulting to /etc/nitro (or the first command line argument).
insert xkcd picture about standard
I’m a very mid-level Linux user. I use systemd because I’m just not familiar with how init systems actually work. I love that the choice is there, but I think systemd has it’s place with users like me that get confused.
That being said, I did run Dracut on EndeavourOS because it was recommended for that distro. I never dived into it to see what the exact difference was, though I do remember running into some things I needed to do that Dracut did differently. There may come a day when I dive into inits, but for now I’m just happy if my system boots to desktop.
Inits are simple. If you know gnu make, it’s about as complicated as you can make an init.
SystemD is not just an init. That’s the problem.
I got used typing “sudo service --status-all”
then got used to typing “sudo systemctl list-unit-files --type=service”
now a new one to learn “sudo nitroctl list”
looks simpler
That can only be a good thing for my gnarly arthritis fingers.
Hate Microsoft et al., dislike software.
Nice.