-
-
Notifications
You must be signed in to change notification settings - Fork 14.3k
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
userborn: init at 0.1.0 #332719
userborn: init at 0.1.0 #332719
Conversation
I tried this out on my machine, the users seem to get created correctly, but I got stuck on sops-nix not working, and important parts of my config rely on that. I will see if I can find the time this week to look into adding support for this to sops-nix. |
I think there already is logic to make this work in sops-nix with system-sysusers (probably gated behind cc @Mic92 |
Is systemd-homed in scope as well in the future? |
See #301337 Please use the search functionality and keep comments here on topic. |
Not really off-topic when in #328926 Nikstur said this: |
It turns out that we cannot use systemd-homed declaratively at all. Using static User Record drop-ins via nss-system also doesn't work because there is no way for manually changing a password and UID/GID re-use is also unsolved this way. That's why I resorted to the last solution which is to write something myself.
No, Userborn is a generic Linux tool, not necessarily only for NixOS. NixOS on the critical path also depends on other open source tools that are not in tree. I'm not aware of anyone even advocating that we should keep critical software in tree. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the term "legacy" is problematic here and i am a bit surprised to find it used in our community in this context... we see how problematic this terminology has been with flakes
by using the term "legacy" we are misleading users and at best spreading confusion - we absolutely need to avoid the messaging of telling users they can choose the "legacy" option or the experimental option
please remove this term "legacy" and let's inform users they can continue with the solid current option that has years and years of battle hardened usage, or, they can work together with us to help introduce this new technology
thank you kindly for your consideration 🙇♂️
@aanderse I removed all instances of the term "legacy". Please take another look. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks very much @nikstur!
i took a look over the project and i am super excited about what you've made here
i think this is a good way forward! 🚀
Yes. I can add the same logic for this variant as well. |
I've added a release note and an assertion that forbids to run both sysusers and Userborn at the same time. Most importantly, I do the latter because userborn is aliased to systemd-sysusers so we don't have to replicate all the dependencies. If no one has an objection, I'll merge this soon because (a) it's completely opt-in and (b) to avoid release-note rebasing churn. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work! I tried this out on an existing workstation installation and it works just as I'd expect.
+1 to this being opt-in, I'll go ahead and merge
Nice. Will test this soon in clan and nixos-images |
Description of changes
This change introduces
userborn
to Nixpkgs.Just like systemd-sysusers, it replaces the update-users-groups.pl script to achieve a perless system.
Userborn works mostly like sysusers but can fulfill some more of the requirements we have in NixOS.
Most notably, it can (1) also create normal users (with a UID >= 1000) and (2) change passwords and some other data about users. Please see the upstream readme for more information.
This might be the final big PR in the perlless series which included these PRs (and others!):
#270727
#328221
#328926
Things done
nix.conf
? (See Nix manual)sandbox = relaxed
sandbox = true
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)Add a 👍 reaction to pull requests you find important.