There’s one benefit of supporting windows that I can’t stop thinking about:
Library creators sometimes need non-library external applications that they run internally (for example an image manipulation library might call imagemagick under the hood). Such external dependencies are usually not handled by the languages package manager very well. For NPM packages for example, the packages usually have their own scripts to download such applications as pre built binaries from somewhere for the specific platform they’re currently on, which means a lot of trouble when nixifying such packages.
The solution would be simple: Provide package creators a way of defining such dependencies with nix, and when nixifying the package, this could be respected. Nice! This could be so convenient, that it quickly could become the default way of dealing with this. The only problem: if it doesn’t work on windows as well, they’ll still have to do it manually there. And then, why even bother with nix?
If nix worked on windows this would not be a problem, and package creators could focus completely on specifying dependencies with nix. This would dramatically simplify building packages with nix in the long run and would also benefit Linux and Mac.