Threads for wyndon

  1. 3

    I have always thought “I should get into NixOS”, but people seem to have gripes with the Nix configuration language and I am really comfortable running Alpine on the small boxes I have.

    Do you think the tools that are made available are worth the learning curve? ilo Alpine li pona

    1. 20

      I used NixOS for a while on my laptop. It’s certainly worth trying, and not very difficult to install.

      Setting up services, tinkering with the main config, is easy enough.

      But if you want to go deeper than that, you’ll spend hours searching other people’s configuration because the documentation is poor.

      1. 5

        Ugh, yes, this is my single #1 complaint with the infrastructure by far. The poor documentation. I need to start taking notes and contributing back to the wiki.

        1. 2

          Seems like Guix might be an option. At least they didn’t create a brand new configuration language..

          1. 15

            At least they didn’t create a brand new configuration language..

            Note that although Guix didn’t create new syntax (they use lisp), you’d still need to learn the “language” defined by the Guix libraries. In the end, most of your time is spent figuring out Nix/Guix libraries, and very little time is spent on programming-language things like branching and arithmetic

            1. 5

              The biggest annoyances I’ve run into with Nix-as-a-language are the lack of static types and the fact that it doesn’t really have good support for managing state. The latter doesn’t usually present a problem, but occasionally if you want to generate a config file in a certain way it can be annoying.

              But I think it helps that I already knew Haskell, so all the stuff like laziness and the syntax are super familiar.

              1. 1

                There really isn’t much of a “language” to learn. Guix configurations use scheme records for about 90 of any configuration a user will do and the rest is in g-expressions which is something like a new syntax that takes the place of embedded shell scripts in nix.

          2. 8

            On one hand, Nix is terrible. On the other hand, isn’t everything else worse? Guix is the only decent comparison, and personally I think Nix’s technical decisions are better. (So do they, given that they borrow the Nix store’s design wholesale!)

            1. 2

              How can they be better, if they are the same?

            2. 6

              NixOS is amazingly good for writing appliances. It also can be made to barf out docker images, which is nice.

              1. 6

                Coming from Void Linux, NixOS on a desktop machine… ilo NixOS li pona ala, la pali mute. It’s a lot of work for a functioning desktop, I think. But on the server NixOS is killer and fun, and makes configuration suuuuper simple. I only need my /etc/nixos and /src folders to migrate my server anywhere (though I’d have to bring along /data to keep my state).

                1. 1

                  This is basically what I do. When I got my new laptop I considered Nix, but decided to stick with Arch because it was easier. I use NixOS for my Digitalocean nodes and am very glad I did.

                2. 1

                  tl;dr: No, I went back to Void on the desktop and Alpine/Ubuntu on servers in almost all contexts

                  Purely anecdotal: I was all-in on Nix, both at home and at work, and drank copious amounts of the kool-aid.

                  As of today, it still runs on a few machines I’m too lazy to reformat, but it’s gone from all my interactive machines, and from all functions (be it NixOS on EC2, or Nix shells for developer workstations) at work.

                  My takeaway was basically: Nix(OS) makes 90% of things absolutely trivial, the next 8% significantly more difficult, and the remaining 2% anywhere from nightmarish to downright impossible. That latter 10% made it “cost” significantly more than, say, investing in other version locking tooling for developer workstations at work. At home, that remaining 10% just meant that I didn’t do some things (like play many Steam games) that I would otherwise have enjoyed doing, because I didn’t have the energy to dive in.

                1. 4

                  For those interested, the actual main instance is at https://piped.kavin.rocks.