• 3 Posts
  • 72 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).






  • It’s a bit unconventional maybe, but I vote simple-nixos-mailserver - IF you are curious / willing to learn nix. It’s essentially just sanely configured dovecot, postfix, rspamd.

    My config for those three combined is about 15 lines, and I have never had an issue with them. Slap on another 5-10 lines for Roundcube as a webmail client.

    Since it’s Nix, everything is declarative, so should SOMETHING happen to the server, you can be up and running again super quickly, with the exact same setup.



  • A high-quality laptop without any branding.

    I’m currently using a 9-year-old, woefully underpowered laptop made by Xiaomi. Full aluminium unibody, and NO logo. Not printed on, not etched in, not glistening only in the right light. NO LOGO.

    I’m not a billboard. I’m not responsible for your brand recognition. Ironically though, far more people have come up to me and asked “hey, what laptop is that” than ever would have cared if there was a logo on it.

    It also just looks and feels fantastic, all-aluminium-no-logo just looks so sleek.

    So yeah. I will not be upgrading until I find another laptop of the same build quality, with no logo. Tuxedo has that option for most of their laptops, but for some reason not for their only current full-aluminium body -.-

    Oh, and don’t come at me with stickers.


  • We expose about a dozen services to the open web. Haven’t bothered with something like Authentik yet, just strong passwords.

    We use a solid OPNSense Firewall config with rather fine-grained permissions to allow/forbid traffic to the respective VMs, between the VMs, between VMs and the NAS, and so on.

    We also have a wireguard tunnel to home for all the services that don’t need to be available on the internet publicly. That one also allows access to the management interface of the firewall.

    In OPNSense, you get quite good logging capabilities, should you suspect someone is trying to gain access, you’ll be able to read it from there.

    I am also considering setting up Prometheus and Grafana for all our services, which could point out some anomalies, though that would not be the main usecase.

    Lastly, I also have a server at a hoster for some stuff that is not practical to host at home. The hoster provided a very rudimentary firewall, so I’m using that to only open necessary ports, and then Fail2Ban to insta-ban IPs for a week on the first offense. Have also set it up so they get banned on Cloudflare’s side, so before another malicious request ever reaches me.

    Have not had any issues, ever.





  • Generally I agree with everyone else, Linux Mint is great.

    However, if you really want to not worry at all, you could just buy a laptop from e.g. Tuxedo or System76. They come with Linux preinstalled (I think in the case of Tuxedo at least, you even have a choice of which Linux Distro?), and are guaranteed to have no hardware “difficulties” with Linux, i.e. even if you put another distro on it, you won’t encounter driver issues.

    (Those have become very rare anyways, but do put a damper on the “Firsttime Linux Experience” if you do encounter them…)


  • Generally I agree with everyone else, Linux Mint is great.

    However, if you really want to not worry at all, you could just buy a laptop from e.g. Tuxedo or System76. They come with Linux preinstalled (I think in the case of Tuxedo at least, you even have a choice of which Linux Distro?), and are guaranteed to have no hardware “difficulties” with Linux, i.e. even if you put another distro on it, you won’t encounter driver issues.

    (Those have become very rare anyways, but do put a damper on the “Firsttime Linux Experience” if you do encounter them…)