Hacker News new | ask | show | jobs
by OJFord 991 days ago
Oh! The lack of (what I now know is) Home Manager is what made me drop Nix not long after trying it out briefly a while ago (well, several years now, maybe 2015-16). I really liked the sound of having all my config declarative and managed through Nix, but it's almost all in home - not everything even has system-wide config, and anyway it's easier to version control.

So that's just to say I think it at least warrants a mention, it's helpful for a beginner to be aware of, even if they don't use it (once informed they can decide for themselves if they need that piece or not).

2 comments

Some people may enjoy going through an enormous learning curve to do configuration like that, but the benefits there are pretty abstract and personal, and the pressure to make the onboarding any easier is very low. It's partly because these kinds of users are willing to (a) suffer through a lot in the name of learning and feel good about having done that, and (b) read and write what appears to be a dozen book-length tomes of documentation, that it doesn't get any easier for beginners. I know because I was also one of them in 2015-16 or thereabouts.

Nix doesn't need any more home-manager tutorials, because it doesn't need any more small-time tinkerers. It would benefit more from becoming essential to a bunch of businesses who will become invested in making their own developer experience acceptable at scale, and who will have to improve Nix to that end.

Pretty soon a bunch of people are going to realise they actually do need the exact same version of every tool in every toolchain on every machine in a team, to make use of the transformative caching abilities of tools like Bazel and Buck2. And if that catches on, I would not be surprised to see an alternative Nix frontend configured in Starlark, like every other tool in that arena. There's already a buck2-nix that generates dhall under the hood.

I once saw someone who declared their user's home folder under /etc so they can do it without home manager. Nice out-of-the box thinking.
I do sometimes think Linux could do with being single user, and retaining a separate no-login non-user ('roles'?) permission system for 'mail', 'cups', and the like.

As far as I'm aware multi-user (as in human login users) Linux systems are almost entirely - literally - academic. Supporting it does leave some warts and complexity to be experienced by the majority single-user system users.