I'll quote from my blog post linked above:
> Different distributions make different choices, and therefore they are closely related operating systems, but not a single OS. Even Linux syscall interface subtly changes from distribution to distribution, as they pick and choose options to build their kernels.
> Every niche Linux distribution that does not follow the interface of a larger one is a unique OS, closely related but not compatible with other Linux OSes. This means the applications have to be ported.
> Application developers have to choose what targets their applications support. With Linux distributions being just a blip on the graph of operating systems popularity, the application developers may not invest significant amount of resources into porting and testing.
Basically, NixOS = zero QA effort from application developer -> nothing works.
> I don’t care about anything that’s not packaged by the distribution
> This is totally fine. Just note that you are using a niche OS with a limited set of applications available.
Yes, Nixpkgs is large, but it does not package every piece of software out there, and you either at mercy of distribution maintainers to keep it packaged, or do it yourself. There is no way to disintermediate you and application developers.
I don't remember the exact set of errors (there was more than one), but NixOS+FHS failed so many times I gave up, and wrote that blog post.
This is the essence: you can't expect application developers to target your niche distro.
> I don’t care about anything that’s not packaged by the distribution
> This is totally fine. Just note that you are using a niche OS with a limited set of applications available.
Even though in case of Nixpkgs "a limited set" is quite large, it does not include every application imaginable.
If it’s only dynamic linking than yeah, it might happen that you need a huge recompile (but that is not that big of a problem nowadays in my experience - gentoo used to compile way longer in my subjective experience for example). Also note: nix will soon get content-based hashing which may solve this problem.
It's extremely easy to apply patches.