I use NixOS, it appealed to me because i got to a point where i liked minimal distros like arch and void and i could build them up exactly the way i like them to be, however i didn’t like how i would have to go through that whole process again if i wanted to do a reinstall. With NixOS i can still craft my OS the way i like it, with the benefit of it being saved as a config, and easy to restore. I did make my own post-install script for void but NixOS is a more solid solution compared to my own janky script. I’m hoping to finally settle down on this distro. I guess the upside to the huge learning curve with nix is that it’s a good motivator to not abandon it because it would feel like my efforts to learn it would go to waste lol.
Yeah, i’m realizing more and more how convenient those variables are. I recently started using gtklock for example, a screenlocker that also has separate modules for extra functionality, which are also in nixpkgs, but the problem is that you have to explicitly specify the path to those modules in the config. So i wrote the config inside of home manager, and pointed to the modules path with the pkgs.foo variables. Worked like a charm.