Hacker News new | ask | show | jobs
by spease 2252 days ago
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.

1 comments

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.