It is very long and detailed but the last 4 sections are short and also very interesting.
In this blog post, I have introduced a process manager-agnostic function abstraction making it possible to target all kinds of process managers on a variety of operating systems.
By using a single set of declarative specifications, we can:
- Target six different process managers on four different kinds of operating systems.
- Implement various kinds of deployment scenarios: production deployments, test deployments as an unprivileged user.
- Construct multiple instances of processes.
Then under limitations there is a nice table that gave me some idea about the relative trade-offs of init-systems (something I hadn’t really thought too much about before).
Also his experiments with running nix on freebsd and cygwin are very interesting and I think his suggestion to try to keep nixpkgs compatible with
stdenv-native is a very good idea and deserves some discussion.