For me (recent NixOS user), it's mainly two things:
- for every configuration item in the software I use, I basically need to learn the way to NixOS-configure it (assuming I don't want to raw-configure everything)
- experimentation is onerous (unless there are workflows I don't know), for example: messing with my sway config requires rebuild switches
I'm not bailing (yet?) but the "ergonomics", well, don't feel ergonomic.
sway and waybar's configuration management is better through HomeManager (again: unless I basically raw-configure everything). Not quite sure where in nixpkgs swayidle configs would go, based on the sway module.
Some other user-levels get tossed in there by virtue of "since HomeManager's there, I may as well use it".
It seems that most wiki pages that I see that have both NixOS and HomeManager sections at the very least make HomeManager seem more featureful or flexible.
I've personally found a good compromise between using NixOS (without Home Manager) and classical dotfiles for home. My dotfiles are independent of the distribution, and also work in e.g. Arch.
I'm actually writing a script that takes my materialized NixOS-managed configs and backs them up in git so I can indeed port them to another distro if I decide to move away from NixOS (hedging my bets since NixOS is my 5th different OS/distro on this laptop).
Not having NixOS manage configs (itself or via HomeManager), though, very much reduces the value proposition of NixOS in my mind.
- for every configuration item in the software I use, I basically need to learn the way to NixOS-configure it (assuming I don't want to raw-configure everything)
- experimentation is onerous (unless there are workflows I don't know), for example: messing with my sway config requires rebuild switches
I'm not bailing (yet?) but the "ergonomics", well, don't feel ergonomic.