The Curse of NixOS
I used Nix and NixOS for more than a year as my daily driver. I&#x27;ve contributed to Nixpkgs. I agree with the author on most if not all of their points. Here&#x27;s some advice: If you&#x27;re interested in Nix, take steps not leaps. Use the Nix package manager. It&#x27;s a great addition to distros like Debian. Then maybe use Home Manager (even though I think Home Manager is way over-hyped, see below). Then write a bunch of derivations. Then go learn the ins and outs of systemd. THEN go play with NixOS. If you skip any steps before the NixOS part, you will get lost in the weeds. The happy path of NixOS is very happy. The other paths are very challenging. You should really know a lot about both Nix and more traditional Linux packaging methods before you go all in on NixOS. And honestly, learning more traditional Linux utilities is a far better use of your time than learning the complex, ever-changing Nix landscape. It&#x27;s a super cool project, I&#x27;m so glad it exists. But it should really be viewed as a _research_ project. Many good things will come out of it. Hopefully one of those things (like the author mentions) is a Nix clone written in a common language with a much better UX. Until then, try to avoid the urge to play with shiny things and stick to just using the Nix package manager and more traditional tooling.<p>And about Home Manager, the reason why I think it&#x27;s over-hyped is because it provides a declarative approach to something that was... already declarative. Your $XDG_CONFIG directory does not need a leaky Nix abstraction on top of it. It actually just makes everything 10x harder. The Home Manager Nix abstractions are terrible but people seem to love it? Why would I write my i3 config in Nix?? An i3 config literally cannot get any simpler. Why make it more complicated for no benefit? I also don&#x27;t need a declarative list of all installed packages. I&#x27;d rather just use `nix-env` personally.