Permanently Deleted

  • PorkrollPosadist [he/him, they/them]
    ·
    edit-2
    2 years ago

    Yes. It also means that if you are trying to set up a complex piece of software on Nix (let's say PostgreSQL for example), you have to cross-reference the upstream manuals with the Nix documentation, and sometimes dig into the Nix package declarations themselves to figure out what on earth you're doing.

    It is a lot more work up-front, but as a result you have a fully deterministic method of installing and configuring complex systems. Nix also shines in letting you set up temporary environments like this. Almost like Python virtual environments, but not limited to Python. They can be conjured and discarded at will without impacting the rest of the system.

    I tried it for a couple months and was generally impressed, but it takes a lot of trial and error to get things working. The error messages from Nix typically are not very helpful, and a few of the tweaks I need to get my desktop system working properly (like changing the default monitor in GDM) were not exposed at the time.

    • OliCromwellOfficial [he/him]
      ·
      2 years ago

      Have you used GNU Guix? I've been curious about it, it's the only alternative to Nix I've seen

      • PorkrollPosadist [he/him, they/them]
        ·
        edit-2
        2 years ago

        Even though I am a big Emacs head, I have not. It does look pretty cool though. I'll have to try it someday. Ultimately I ended up on Gentoo. It lands in a similar niche in terms of being a meta-distribution, but it does not take a declarative approach to configuration. The biggest drawback of Gentoo in comparison to NixOS / Guix is that it isn't able to cache a vast array of package configurations the way NixOS does. Everything needs to be compiled, whereas on NixOS you can flip one switch and instantly get a package that was compiled with different build-time options / dependencies.