| I'm running NixOS unstable, with flakes, and while my code is an unstructured mess NixOS gives me a couple of things. * Bleeding edge packages * Bleeding edge alternative packages (Try wayland an pipewire without being scared) * Upgrades that doesn't evaluate changes nothing (except disk space) * Upgrades that evaluates but doesn't work ("never" happens) are atomic and can be rolled back from (unless you mess with boot, but even then booting NixOS livecd, mounting things up and running the install command will get you back) * Things that aren't in your config doesn't exist in your system * Identical systems across machines (with configurable differences) The difference is huge, but some things are a pain in the ass, so I use "distrobox" too for small one-off things, it manages podman to set up an OS container for me that shares my homedir and such (so I get all my dot files in there too) * You'll learn to appreciate systemd * You'll eventually learn a bit of FP * Once something works, it keeps working. There are more pros, and I didn't list any cons, but with fistrobox you can hide many warts where your FP skills are lacking. So to answer your question, upgrades between versions will probably always break for you, but they'll break on build time, so you fix them (mostly deprecated/moved options) and then it's all fine and dandy, rather than your system being broken. |