20 years of Nix
I like the principle of Nix that one can simultaneously install different versions of the same software and make layered choices of what version to use with what or depending on the use case. Nix has spearheaded that principle and that&#x27;s great.<p>That being said, that fine-grained layering selection is done via symlinks in Nix afaik, whereas a couple newer packaging systems (e.g. OCI containers or flatpak) can do such layering with newer stuff like bind mounts and namespaces+sandboxing (and I don&#x27;t just mean sandbox for build time but for run time) and thus increase the security by selectively choosing what a package is supposed to have access to. I wonder how fast Nix will adapt to such new possibilities. I think it should do so quickly (e.g. switch to OCI as the underlying layering system; I hear that the Tvix project is experimenting with that?), as that could establish Nix as the dominant system&#x2F;distribution in that field whereas otherwise it would be overtaken and left behind by whatever OCI-container-based distribution manages to come out as the dominant one.<p>There is currently (temporarily) a unique window of opportunity in that:<p>* Docker is totally ruining their position in the OCI world, and had never really put effort into building a comprehensive quality curated distribution. That is: their registry may be &quot;comprehensive&quot; as in large choice, but apart from a small set of base images, it&#x27;s mostly a hotchpotch of low-quality uncurated images with uncertain security… and often found to be of severely lacking in the security domain.<p>* Redhat has a much too closed policy for their OCI registries and has made the mistake of restricting their OCI stuff to the server side while fedora pushes flatpak&#x2F;flathub which is too restricted to the desktop. That artificial chasm between a server-only and a desktop-only system sucks.<p>* Ubuntu has completely borked their attempts at new sandboxed&#x2F;layered package formats, snap sucks. And Debian and the other remaining big distros have nothing in that category<p>Nix has the advantage of already having a large, comprehensive and curated set of packages. All it needs is to adopt OCI as its underlying layering system (instead of symlinks), make its large package base trivially accessible to OCI, and make an effort on UX (a little more accessible and easier) and it could come out as the dominant distribution.