I use nixos for dev all the time, personally I think it’s great
What I would suggest however is to install the nix package manager on another distro, learn how it works that way and then switch when you’re comfortable only using nix
Flakes are absolutely incredible for development and I think every project beyond scrappy scripts should use them.
You can specify all your dependencies (compiler, libraries, cli tools, environment variables etc) in your nix flake, then run nix develop and it’ll make you an isolated shell with all that stuff
(For example, I don’t have go, rust or dotnet installed but when I cd into one of my projects directors it installs them to a temporary shell and catches them until I clean up)
The flake also generates a lock file which specifies every version of every dependency with a git rev and a hash, meaning if you check flake and lock into git, anyone else who clones that project and uses the flake gets the exact same system you were using
Ah that’s useful to know, I’ve been using gamescope for that but it’s a bit overkill