• 4 Posts
  • 380 Comments
Joined 1 year ago
cake
Cake day: April 27th, 2024

help-circle



  • Managing 30+ machines with NixOS in a single unified config, currently sitting at a total of around 17k lines of nix code.

    In other words, I have put a lot of time into this. It was a very steep learning curve, but it’s paid for itself multiple times over by now.

    For “newcomers”, my observations can be boiled down to this: if you only manage one machine, it’s not worth it. Maaaaaybe give home-manager a try and see if you like it.

    Situation is probably different with things like Silverblue (IMO throwing those kinds of distros in with Guix and NixOS is a bit misleading - very different philosophy and user experience), but I can only talk about Nix here.

    With Nix, the real benefit comes once you handle multiple machines. Identical or similar configurations get combined or parametrized. Config values set for Host A can be reused and decisions be made automatically based on it in Host B, for example:

    • all hosts know my SSH pub keys from first boot, without ever having to configure anything in any of them
    • my NAS IP is set once, all hosts requiring NAS access just reuse it implicitly
    • creating new proxmox VMs just means adding, on average, 10 lines of nix config (saying: your ID will be this, you will run that service) and a single command, because the heavy lifting and configuring has already been done, once -…













  • I went through essentially the same thing a couple months ago. Tried Calibre (and Calibre server) since everyone recommended it.

    Really disliked it. Calibre is great for converting ebooks, but has shit management and webserving capabilities.

    I ended up with Kavita and am super happy. On the web client, both management and actual reading are a pleasure. Any phone/tablet client supporting OPDS works perfectly to read/download your manga/books from the server.

    And a select few clients go a step further, supporting Kavita’s API, which allows for 2-way sync (effectively, syncing reading progress between all your devices).