you are viewing a single comment's thread
view the rest of the comments
[–] 19 points 9 months ago (4 children)

honestly, i 100% do not miss GUIs that hopefully do what you want them to do or have options grayed out or don’t include all the available options etc etc

i do get burnout, and i suffer many of the same symptoms. but i have a solution that works for me: NixOS

ok it does sound like i gave you more homework, but hear me out:

  • with NixOS and flakes you have a commit history for your lab services, all centralized in one place.
  • this can include as much documentation as you want: inline comments, commit messages, living documents in your repository, whatever
  • even services that only provide a Docker based solution can be encapsulated and run by Nix, including using an alternate runtime like podman or containerd
  • (this one will hammer me with downvotes but i genuinely do think that:) you can use an LLM agent like GitHub Copilot to get you started, learn the Nix language and ecosystem, and create Nix modules for things that need to be wrapped. i’ve been a software engineer for 15 years; i’ve got nothing to prove when it comes to making a working system. what i want is a working system.
  • source
  • hideshow 4 child comments
  • [–] 2 points 9 months ago

    Selfhoster on NixOS here too.

    Nix (and operating services on a NixOS machine) is a learning curve, and even though tho project is over 10 years old now the semantic differences between the conventional approach to distro design/software development/ops is still a source of friction. But the project has come a long way and lots of popular software is packaged and hostable and just works (when you are aware of said semantic differences)

    But when it works, and it often it does, it's phenomenal and a very well integrated experience.

    The problem in my exparience with using LLMs to assist is that the declarative nature of Nix makes them prone to hallucination: "Certainly, just go services.fooService.enable = true; in your configuraton.nix and you're off to the races". OTOH, because nix builds are hermetic and functional they're pretty safe to include as a verification tool that something like Claude code can use to iterate on a solution.

    There are some pretty good examples of selfhosting system configurations one can use as inspiration. I just discovered github.com/firecat53/nixos that is an excellent example of a modular system configuration that manages multiple machines, secrets, and self hosted services.

  • source
  • parent
  • [–] 1 point 9 months ago

    Lost me at LLMs. My Nix config is over 20k lines long at this point, neatly split into more than a hundred modules and managing 8 physical machines and 30+ VMs. I love it.

    But every time I've tried to use an LLM for nix, it has failed spectacularly.

  • source
  • parent