the awful.systems server cluster runs on an open infrastructure based on NixOS and Nix flakes, and though it desperately needs cleanup in some places, it’s still a pretty good example of how to use a Nix flake to deploy NixOS in production. feel free to browse the repo and ask any questions about how it works, or about Nix in general!

also, if I get hit by a bus, this can be used to redeploy awful.systems elsewhere. an existing admin who isn’t in the hospital or the grave can import a database backup and get back up and running!

and as always, contributions are welcome.

  • self@awful.systemsOPM
    link
    fedilink
    arrow-up
    4
    ·
    8 months ago

    there should be some good stuff in the awful.systems repo for you! I use the same techniques to deploy NixOS to a mix of servers, desktops, and embedded systems in my home. specifically I can recommend writing your own deployment scripts that use nixos-rebuild and using sops-nix for secrets — I use it all over the place for awful.systems, but for my home network it mostly keeps wifi passwords encrypted for some of my embedded devices.

    definitely let me know if you need some gentler introductory resources for Nix and NixOS too! I’ve got a few links saved up that I can recommend.

    • 4grams@awful.systems
      link
      fedilink
      English
      arrow-up
      4
      ·
      8 months ago

      Wow, thank you so much. I haven’t touched Nix yet but I’m a greybeard systems engineer with familiarity of many distros so hopefully it won’t be too baffling (then again, I never got Gentoo successfully installed).

      I will check out the repo as soon as I’m home, and thanks for the secrets info, one of the things on the top of my list.

      • self@awful.systemsOPM
        link
        fedilink
        arrow-up
        4
        ·
        8 months ago

        no problem at all! here are a couple of the resources I mentioned by the way:

        • Zero to Nix is a good overall guide
        • nix.dev is a great cookbook-style resource that starts by explaining Nix as a programming language and expands on its concepts from there