-
-
Notifications
You must be signed in to change notification settings - Fork 14.7k
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
nixos/systemd: provide a typed interface to Exec directives #154154
Conversation
Some abstractions are good. Some aren't. I think When we start adding complex abstractions we make ourselves even more alien to the rest of the gnu/linux ecosystem and their developers. We increase the already incredibly steep learning curve with ecosystem specific knowledge that isn't transferable at all. This is ok, but we have to ask ourselves "is it worth it?" every time we do. So I ask: is this abstraction worth it? Or are we better off taking another route? |
an alternative solution is to add an analog of |
I'd like to differentiate this feature from abstractions as those are commonly talked about. Whereas the feature is an abstraction in the sense of creating an indirection, it is not an abstraction in the sense of eliding "irrelevant" aspects, or encapsulating details. Much of the (correct) criticism of abstraction revolves around the latter parts.
Yes, and even at the same time. NixOS is great, because it doesn't force you into either one. Similarly, this added interface doesn't require you to avoid On the other hand, when that is not a requirement, you can make use of well-defined, predictable options with consistent searchable documentation. Consider a backend team developing custom company services on a Nix stack. Hopefully they've picked up on actual DevOps, so they'll have someone on the team who's familiar at least with the relevance of those symbols, etc, but the others should be able to interact easily with the config file as well. For them, a cryptic DSL like systemd's Exec lines only gets in the way.
Good thing this one isn't complex. Not even much of an abstraction; just a sensible format for defining service commands.
In my view, absolutely. I appreciate you keeping us alert to this. |
I'm planning to adopt, with @pennae permission, this PR and push it to the finish line in the next days/weeks. |
absolutely! |
Motivation for this change
implements #154123. only very lightly tested so far. documentation also still needs updating/writing.
@roberth @NixOS/systemd
Things done
sandbox = true
set innix.conf
? (See Nix manual)nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)nixos/doc/manual/md-to-db.sh
to update generated release notes