I want to run a stable and consistent OS on my laptop with a clean declarative configuration style. I really like the concept of NixOS and it installs well. It configured all the hardware on my X1 Carbon Gen 11 without any extra tweaking and dropped me into a comfortable Gnome Desktop. I’ve spent decades on the CLI so more than happy to configure from the terminal and write files, but I keep running into this ‘flake’ concept. It seems a lot of documentation and even recommended commands expect that I’m using this ability, but it is clearly experimental and I really would like to avoid using capability that is going to shift underneath me and require me to spend a lot of time updating my configuration files to adapt to a developing idea. I want to have a functional operating environment to support other tasks, not make optimizing my OS and workspace a hobby in this point of my life.
What has me really concerned is the situation with being able to search for packages to install from nixpkgs. This seems like basic functionality to me. Getting any of the CLI tools to do this requires the enabling of flakes. Sure I can alias the command to something to turn on the experimental features just to run a search and move on, but as I go deeper is this type of expectation of running experimental features going to be a pattern that I’ll need to deal with regularly?
This makes me somewhat uneasy about continuing down the NixOS path. Is this going to have a relatively stable path I can follow with some intelligent decisions or am I going to have to make maintaining my NixOS configuration a hobby constantly shifting to address various experiments and changes in order to run reasonably updated versions of the software?
Can you convince me to stay? I like what I see and want to, but don’t want NixOS to become that needy friend that I love, but seem to constantly be needing help dealing with their crap and not getting anywhere.