NixOS of course has benefits
as an OS, but I don’t think any of them are specific to development.
I also think the tradeoffs are worth considering. You lose a few things by using NixOS:
* ability to run/depend on non-nixos software (without packaging yourself)
* you have to use the declarative config system, which can be annoying and slow if you want fast iteration to get something working
* Patching support is nice, but I don’t really have a use case for it generally for system dependencies (which I like to keep relatively lean, and close to distro upstream). For a development dependency, it may be different but you don’t need NixOS to benefit from patching there (nix shell is good)
Moreover, especially with nix shell (for project dependencies) and home-manager (for user tool configuration), I rarely have a need for software installed globally. I use Debian and the only system level things I configure are automatic updates, backups and Prometheus. Systemd config is already pretty declarative, which only really leaves user management as something that could be more declarative. You can get a pretty good setup using a bare git repo version controlling /etc, without needing all the extra complexity of NixOS. I keep a ~50 line text file with rough instructions and a list of packages.
I guess it gets a bit more complex if you run a gui desktop, but these are generally very well-trodden paths in big distros and fairly streamlined. I haven’t used desktop NixOs, but given the shitshow of desktop Linux, it seems like something that may get complicated in Nix?
The familiarity argument is reasonable, but also NixOS module system is pretty radically different to Nix the package manager/build system, so it only partially applies. Even adding home manager to the party, only the base concepts of the module system really apply; you end up having to relearn a set of new modules.
To sum up:
* It becomes way more difficult to do common development-related stuff that you may need
* The majority of the development benefits can be achieved without NixOS.
* The flexibility of being able to opt to use Nix and the degree to which you do so (either just shell providing dependencies, or whole the build system being Nix, or even using something completely different) or not is also something that may be very useful for development.
* The familiarity argument is decent, but it’s different enough that you basically have to learn a lot of stuff independently.