Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[RFC 0163] Portable Service Layer #163

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 13 additions & 3 deletions rfcs/0163-portable-service-layer.md
Original file line number Diff line number Diff line change
Expand Up @@ -872,9 +872,19 @@ solution:
* [system-manager](https://github.com/numtide/system-manager) addresses the
limitation of NixOS to use systemd units independently and can deploy many
services in the NixOS repository on any Ubuntu-based distribution.

Aside from the first option, the biggest drawback is that these solutions are
not generic and there is only little reuse possible between service
* [devenv](https://devenv.sh) also makes it possible to run multiple processes
(of different services) in a Nix-based development environment. It works a
with a variety container-friendly/non-PID-1 based process managers, such as
process-compose, overmind, and honcho.
* [Dysnomia](https://github.com/svanderburg/dysnomia) is a system to manage the
life-cycle of services deployed by
[Disnix](https://github.com/svanderburg/disnix) in a generic way. It has its
own `process` module that deploys services as daemons running the background.
It can also use the Nix process management framework to deploy services that
are managed by any kind process manager supported by the framework.

Copy link
Member

@Aleksanaa Aleksanaa Oct 8, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* [NixNG](https://github.com/nix-community/NixNG) is considered a late sibling to NixOS and shares many designs of it. It also implements the function of generating services for several kinds of init systems from the same nix expressions.
* [nixos-init-freedom](https://git.sr.ht/~guido/nixos-init-freedom) puts some efforts on replacing systemd-as-pid-1 with s6. Instead of implementing a generic service layer, it translates parts of systemd module configuration into s6 configuration.

Aside from the first and last option, the biggest drawback is that these
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not group the "best options" and say "Aside from the last two options..."?

solutions are not generic and there is only little reuse possible between service
configurations.

# Unresolved questions
Expand Down