Hacker News new | ask | show | jobs
by dpezely 2252 days ago
It's worth noting the "My experiences with NixOS" discussion from a few days ago: https://news.ycombinator.com/item?id=22877355

As someone just getting into Nix and NixOS myself, I found one particular comment there offers an excellent summary after talking with a few others in person as well: https://news.ycombinator.com/item?id=22891648

Essentially, after an initial investment of time for learning curve, the huge payoff comes when migrating to another machine because of system-wide configuration being reproduced with precision.

In my case, moving back and forth between laptop and desktop/workstation was a pain point with Xubuntu. A delta of less than one hour between `apt-get dist-upgrade` on two devices was enough to translate into divergence of versions in some packages.

We've come a long way since days of tsx-11, but I digress.

1 comments

I love the idea of Nix, but it is pragmatically unusable in practice. I installed it on my work laptop running OS X, and doing anything with it would often lead to searching through obscure gitlab or forum posts. The core commands are unintuitive. Try to get ‘cargo install’ to work for common Rust tools dragged on for weeks of on and off incidental work on the side. When something pulled in the Network Foundation SDK, I couldn’t figure out how to specify it with nix-shell. After multiple attempts asking in chat, nor, did it seem, anyone else knew either. Eventually I found the package I was trying to compile in nix and just gave up on getting packages with HTTPS dependencies to work with ‘cargo install’.

When it got to the point of reinstalling docker, I just gave up and used brew.

My personal box runs Arch Linux, which uses pacman. It’s fast, and the commands are based on combining a common set of letters.

To me, nix is the epitome of the problem with OSS. A brilliant idea crippled by abysmal UX because enough emphasis isn’t put on what’s necessary for people to use it if it isn’t the center of their life. If I were working on nix daily and focusing on it constantly, I’m sure I’d feel the commands are obvious because I’d incidentally memorize them all. But when using it as just one of many critical tools, it simply demands too much attention for someone to be productive.

That isn’t to say it’s worthless. It’s still an impressive achievement and I’m glad someone did it. What will hopefully happen is that someone will write a new ’nix’ frontend tool to make it simple and intuitive.

There are tools that require a big time investment to learn, and Nix is one of them. It much more "pragmatically usable" than other OSes once you learn all the bits and pieces. It's kind of like Vim. But yes, it's quite frustrating at start that you can't do seemingly simple stuff with ease.