Hacker News new | ask | show | jobs
by splitbrain 311 days ago
I only got started with NixOS a couple of weeks ago and I must agree. I would never consider running Nix on my daily Desktop machine (I'm using Arch BTW). It's more work and hassle than it's worth it.

OTOH I just set it up as the base for my new DIY NAS. There it is limited to just the bare minimum of bringing the system up and providing some core services (including Samba). And for this I found Nix' declarative approach quite good. I can easily restore the root system from the backed up config alone.

Everything else will be handled by Docker compose stacks outside the Nix eco system (stored on the RAID).

https://www.splitbrain.org/blog/2025-08/03-diy_nas_on_nixos

3 comments

I had the opposite experience. I started using it as a daily driver around 10 years ago and could never to back to anything else. It's just super solid and once you have it configured it just works forever. I agree that the learning curve is pretty steep, especially if you want to use something that's not in nixpkgs but those things are vanishing day by day.
Yeah, for all the blog posts about quitting NixOS there's plenty of us who continue using it.

I don't think it's just the steep learning curve though, I think it's just not for everyone. You _have_ to enjoy side quests where you dive deep into hairy problems, and effectively be willing to front load effort into setting up an environment so that it works well for you in the long term.

I think OP sums it up pretty well. If there isn't an existing module or one that does exactly what you want, your only way forward is to program your way out of it. That's just not something I want from my daily driver of a distribution. It doesn't help that this programming happens in a weird (to me) functional language.
I think that's fair. The stuff that works for other distros won't work for Nix. However I think eventually everything will be nix-ified. Right now for services there's also an easy escape hatch with docker and oci-containers. It's also what I use if I can't be bothered to nixify some server I want to run.
I think it's weird to most people. I've used NixOS on my personal machines for 2 years and Nix lang is easily the worst thing about it. I'm definitely not a huge functional guy but I'm familiar with Lisp/Scheme and F#. Nix feels completely foreign in a way that those languages didn't.

There have definitely been situations where I've just decided to not try out an application because it wasn't in nixpkgs (it's pretty rare for a package to not exist but one prominent example is Zen browser).

> That's just not something I want from my daily driver of a distribution.

And that's fine! People are different, there's no way one OS is the best choice for everyone. :)

Can you elaborate on what were the friction points? I migrated from Arch to Nix several years back because I found maintenance to be incredibly easy and it also allows me to test things without fear. Arch and other imperative distros are still superior for some workflows, but you can always run something imperative inside Nix like FHSEnv or DistroBox. Nix is also available in Arch extra, so it's also possible to do this the other way round, with Arch as a host.
For me (recent NixOS user), it's mainly two things:

- for every configuration item in the software I use, I basically need to learn the way to NixOS-configure it (assuming I don't want to raw-configure everything)

- experimentation is onerous (unless there are workflows I don't know), for example: messing with my sway config requires rebuild switches

I'm not bailing (yet?) but the "ergonomics", well, don't feel ergonomic.

Oh, and the NixOS / HomeManager split feels very funky, but NixOS life without HomeManager seems unreasonable for a daily driver laptop.
What parts of your workflow rely on HomeManager?
sway and waybar's configuration management is better through HomeManager (again: unless I basically raw-configure everything). Not quite sure where in nixpkgs swayidle configs would go, based on the sway module.

Some other user-levels get tossed in there by virtue of "since HomeManager's there, I may as well use it".

It seems that most wiki pages that I see that have both NixOS and HomeManager sections at the very least make HomeManager seem more featureful or flexible.

I've personally found a good compromise between using NixOS (without Home Manager) and classical dotfiles for home. My dotfiles are independent of the distribution, and also work in e.g. Arch.
> I would never consider running Nix on my daily Desktop machine (I'm using Arch BTW). It's more work and hassle than it's worth it.

How much of this is really just unlearning what you have learned, and needing to internalize the Nix way of doing things which may allow more flexibility in the end?