(2025-08-04) Switched to NixOS: the path of the samurai begins -------------------------------------------------------------- I have upgraded the SSD in my ThinkPad, my main x86_64 personal machine. The new one has a whopping 4 TB of space. And this, as I thought, was the perfect time to try out something completely new as a daily driver OS. And by something completely new I meant something not derived from Debian, Arch or Alpine, and obviously not BSD or Haiku which don't match some of my requirements, and obviously not anything RPM-based, not Slackware, Guix or Gobolinux because all of them just suck. As you might have imagined, not so many based options were left, and I chose the one being praised the most by hackers alike: NixOS. Is it worth the hype? It's time to find out. As I just have transferred all my data to this new system and set up the basics, I won't share my entire opinion at once as it hasn't fully shaped yet. I'll just say this for now: you have to unlearn a lot of what you have learned about typical Linux distros. On a flip side, you have to be mindful and not forget any minor package that you **might** need at the systemwide level. Whenever you don't, isolated Nix shells are clearly preferred here. Of course, some precompiled binaries just don't play ball with this non-FHS-compatible directory structure, so NixOS offers several mechanisms to achieve backward compatibility at least to some extent, and I naturally have enabled all of them that I could find. Besides keeping the number of packages (relatively) low, I also have realized something I couldn't realize with more "traditional" package management: in my personal workflows, a lot is really happening inside the home directory, not elsewhere in the system. In other words, with some makeshift tooling, I had constantly tried building the same level of isolation in my Arches that I'm already given out of the box with the native tooling here. The Nix language itself is a bit weird but pretty manageable and offers plenty of flexibility. However, within just two incomplete days of running NixOS, I already have found several caveats that **might** interfere with my workflows until I find a workaround. For instance, one cannot just run uv with a pygame dependency whereas a nix-shell with the same dependency and the same Python version works as expected. In fact, workarounds are an organic part of Nix life, and that might pose a problem sometimes. Not one I couldn't solve, but one that could have been avoided if they just had provided an "unsafe sandbox" for certain types of software as an option. Anyway, to me as a power user, the amount of positives still outweighs the negatives by a large number, so I decided to proceed with walking this path. And I'll see where it leads me. So, look out for the follow-up posts about NixOS. And no, I haven't forgotten about the abacus. As always, stay tuned. --- Luxferre ---