I made the switch around this time last year and haven't looked back. A few things have taken a bit of effort to figure out, but largely it has been a breeze. I should've done this many years earlier.

you are viewing a single comment's thread
view the rest of the comments
[–] 7 points 5 hours ago (5 children)

I really like nixos, which will not even tell you to reboot if the kernel is unchanged. Plus it will restart my services correctly when I update or pull new container images on my server.

It’s very very nice.

  • source
  • hideshow 5 child comments
  • [–] 1 point 4 hours ago (1 child)

    nixos is one I hear people talking about positively but don't know much on. What's so great about it? And is it a niche distro for certain users (the subset who like to tinker with their machines?) or is it good for general use?

  • source
  • parent
  • hideshow 1 child comment
  • [–] 1 point 3 hours ago

    The short version is it makes your whole system deterministic and auditable, and that does some automatic stuff that is very nice.

    Basically you write a configuration for your computer, then it generates atomic images from your config and manages your system for you. You update by generating then switching to the new snapshot. If anything goes wrong, you roll back, and your system is exactly as it was.

    The whole system lives as code, it’s tied to git, and up to hardware specific things, I can checkout the exact same system across machines.

    This is really great for people like me who dislike having to manage long term state like a grub config change or managing firewall rules or fiddling with committing systemd changes and managing them directly.

    The packages are very well thought out.

    For example if you add a systemd service it has rules for starting and stopping and the system is smart enough to know when to use them. That makes things like updating a server really nice, it’s just one command and everything is done for you, anything not affected by an update doesn’t restart, so services run smoothly (I have one config that manages all my services, their URL, firewall rules and healthcheck, and automatically adds them to a system monitoring dashboard for example).

    As another example I can manage accounts on my system very easily, and I can clean them up by just removing that user from the nix files, and the system will do all the Linux user management stuff for me. This is great on a server where you want limited permissions users running specific applications — I just define what they should have and it works.

    That has costs. Everything has to be thought of as either a system package or a user package, updating system packages is always a snapshot change with lock file update. You’re also locked into using nix packages which can lag releases (though this is most package managers).

    Your average Arch Linux user probably doesn’t care or like this, they like the full control and flexibility Arch provides (which is just different tastes/philosophies).

    You can install user local applications too outside of your main nix configuration (with something like homebrew, which works great on nix), or you can use home-manager to add more nix and manage your apps and generate user account dot files files.

    You can also use nix-env to create reproducible software builds without containers, but I find it a little heavy to manage and haven’t learned it.

  • source
  • parent
  • [–] 2 points 5 hours ago (2 children)

    I moved from Proxmox on my trio of home servers to NixOS a year ago and loved it so much i switched my 2019 intel MacBook as well a few weeks ago. Headless on the servers and Hyprland/Quickshell on the laptop. It's just so fucking good

  • source
  • parent
  • hideshow 2 child comments
  • [–] 1 point 4 hours ago (1 child)

    Ohh I have an old i9 intel MacBook I could migrate to do this…

    Only had 512gb though, it’s an old dev machine.

    How’s the Linux support on it? Since it’s all thunderbolt ports I’m wondering how well it works.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 2 points 4 hours ago*

    Mine's a t2 so my choices were t2linux or nothing, not sure about yours. As far as support, the only thing not working is bluetooth but that's because i put zero effort into fixing it since i don't use it. The install was a PITA but well worth it in the end

    EDIT: forgot to mention that all ports are working too. I switch between using just the laptop and 2 external monitors no prob

  • source
  • parent