Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Nix is a form of computing that's simultaneously 20 years in the past and 20 years in the future. I love it.

Honest answer though, it's a deterministic way of building up a computer/environment. Think pip/uv/packages.lock but for everything.



open to the select few who are able to ignore what the official documentation says and spend some on the (admittedly friendly) irc channel to learn how it REALLY works.


I've only dabbled, but what have you learned in the irc that isn't in the docs?


Haven't tried in a while and haven't checked the documentation now but back then the method for installing packages in the docs was commented on like "yeah you're not supposed to do that". Features were in a perpetual "experimental" but not really state.


Regarding "not supposed to do that": the docs mention you can install packages with commands like "nix-env -iA <package name>", using nix approximately the same way as apt or pacman. -- Trouble is, this is kindof a footgun. (e.g. it's a bad idea to run this command with sudo, even though you'd use sudo for equivalent commands). So, it's easier to just say "you're not supposed to do that".


Right . But it's a bunch of this. Another example is flakes. It was behind an experimental flag and was apparently what everybody was using already. There was only 3rd party documentation if I remember correctly. Twice I tried to use Nix and twice it kicked my ass. I never had this experience with any other unixy end-user software.


I've done ok without irc, though now you mention it, I do miss me some irc.


Deterministic but when the next gcc (or %insert_big_dependency%) update happens all your more obscure packages are broken for a couple of weeks.


Don't update immediately? Update immediately, but selectively? Nix offers many options here.


simply staying on stable channel makes this a non-problem :)

Besides, Nix is even better for such breakages. If GCC breaks you packages, the system does not build and never gets into broken state, all the while old system remains available and kicking.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: