I have been seeing a lot of NixOS content recently, and a part of me appreciates the ideology of Nix.
- No need to remember how you configured your machine (running some random command inside some random directory).
- Separate the config from the physical machine. Redeploy elsewhere instantly.
I loved the idea even before I knew Nix when I switched from Gnome to i3 way back in 2017. Configure your i3 config once and never worry about “new” (read “breaking”) features from the distro. I used the same config for nearly a decade with minor changes, till I switched to niri this year. So the way I interact with my desktop has not changed for a long time.
Back to the topic; while Nix configures your OS in a declarative manner, it’s very different from what I’m used to. I have managed Ubuntu systems in depth, and now I know there is a huge carry-over of knowledge across other distros (arch/fedora/centos). And this “hobbyist-level” knowledge has helped me multiple times at my work. But Nix is very different in the way we configure a system compared to the norm.
My fear is that not only do I have to throw away chunks of my existing Linux know-how, but the new Nix-way will interfere with what I currently know and require at my job. Is there some truth behind my thinking or am I just being a bit paranoid? Fresh and veteran Nix users, please help.


I do think it is, but only if you dive into what the services and modules do, or if you create some yourself. Most packages are created for mainstream distros and you will have to adapt how they work to nixos’s mode of working. In doing so, you will learn - at least I have.
I know more about systemd, kde’s configuration, bash, opengl, library paths, and more because of having to go through the pain of making it work ok nix/nixos.
It is arguably also quite valuable to see how something is done in nixos as a kind of documentation in code for how to configure other software. Where changing an option’s value in nixos kicks of a bunch of things, on other systems you have to either trust that the package has scripts to do that, or imperatively do those steps yourself.
The skills seem quite transferable to me, IMHO.