Hacker News new | past | comments | ask | show | jobs | submit login

I've been using NixOS for 2 years now, my general impression is that even if Nix isn't the popular solution, it'll probably inspire the right way of doing things for the next years. It might not look like much, but representing the whole system's dependencies as a Graph database, then using a purely functional language to define such database has happily prevented me from shooting myself in the foot many times over the past year.



NixOS is the distribution much how Haskell and Scheme are the programming languages in that in their lust for theoretical perfection and elegance, they do not see widespread adoption, but often have a lasting influence on other projects that take the useful parts from their elegant ideas and work them into something more practical.


I've never bought this, I use Haskell and Nix all the time for GUIs and other nerd-phobic tasks. And it's definitely the most practical way I know of doing things.

Most people just want to cargo-cult what others do, and most things initially get popular because some way of deploying software requires it / makes it the path of least resistance. None of that is about practicality, just short-sightedness and ecosystem effects.


Good point. Today most popular languages (or at least those with garbage collection) use lexical scoping of variables, which they copied from Scheme.


Have you tried any of the containerized distros? I haven't tried Nix but want to.

Just wondering if you can compare/contrast NixOS with something like Fedora Silverblue or Fedora CoreOS.


I used both and even though their purpose is very similar (have an "immutable" system tree that you create and switch into it), the day to day is very different.

Silverblue is still pretty much imperative, you install/remove RPM packages and that's it, you use Flatpak for everything else. NixOS you have to describe your entire system in a programming language. NixOS gives you so much more freedom to do what you want, but you have to work for it, learn a language, learn it's constructs, etc.

I enjoy both though, feels like the right direction to go, you just need to choose how you want to interact with your OS.


I haven't tried, but I get the sense that those are more about cleaning up the run time than the build process. At least the flatpak/snap world also is kind of anti-integrative in that everything is vendoring everything else.

I personally think containerization is just too much a PITA to use for software that doesn't live in a bubble, e.g. desktop software. The capabilities revolution (Capsicum or CloudABI) would be more secure and easier to program with, so we just need to force our way there, and then everything will take care of itself.


Nope, but it's not the same thing. NixOS can easily provide me with free rollbacks and is mostly reproducible (https://r13y.com/). The funny part about NixOS is that once someone reports a weird behavior, almost everyone will have it and can verify/fix.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: