I agree. Please tell me if there's a better way
It is. Even though I've been using NixOS for some time now, it comes in handy specifically with development tools that require a mutable file system. For example if you want to develop a VSCode extension or use NVM.
You can, but I don't think it is necessary in most cases. Managing dependencies is one of the things that Nix is best at. You don't need to compile the software with Nix, but you can use a Nix shell to hack on some software without Nixifying it before hand. Shell's should make all of the dependencies you specify available to use, as well as setting the right environment variables to work without Nixifying. I only use distrobox if I run into some software that I have significant trouble running on NixOS with a shell, which rarely happens.
nixos
All about NixOS - https://nixos.org/