I know you’re on your way out, but I’d like to answer this anyway since I think it could be of interest for others, and because I don’t think others here are likely to say something similar.
While many Nixers will not be interested (perhaps because Nixpkgs is now huge, perhaps because they’ve developed Nix packaging skills after longtime usage), I actually think this kind of one-way impurity could be valuable. But I think that for it to really make sense, we would need more long-lived NixOS/Nixpkgs releases, otherwise users would have to constantly rebuild their ‘foreign’ software after NixOS updates, as is the (unfortunate) custom on Arch Linux. I described what I have in mind here.
I agree with the consensus opinion that it’s best to actually use Nix to build whatever programs you need and integrate them properly. And I like that in the Nix world, there aren’t really ‘end users’ to the same degree as elsewhere; most end users end up positioned to make small contributions at some point. But I think that if we had releases that lasted a little longer (something that’s not on the table atm and shouldn’t be a high priority for individuals in the community, since it would require corporate resources), linking (or using some GoboLinux-y magic, if build tools might resolve symlinks all the way down to store paths in a problematic way) base NixOS components into some versioned path under
/usr somewhere could be a good way to provide an experience that has more of an ‘on ramp’ like Nix on non-NixOS but that still allows comprehensive Nix-driven configuration for services like you get on NixOS.
Allowing a little bit of impurity in this way could be good for new users so they can learn to package things for Nix more gradually. For better and for worse, it would also allow NixOS to have true ‘end users’ who could enjoy using Nix as a simple configuration for the base system and easily install software outside its confines (and outside its guarantees ) rather than having to learn large pieces of the whole system just to move forward with unpackaged software or whatever. That could prove difficult to support, and I’d hate to see NixOS fall into the same kind of twilight as Arch where there’s this thing a ton of users find necessary but must remain nominally unsupported because it runs against the grain of the base system’s design.