Yes, I’ve argued before that in a modern software environment both package management and environment separation&#x2F;virtualisation should be OS responsibilities. As you say, it’s silly that we have OS&#x2F;distro level functionality, language-specific tools, and sometimes generic but not OS-integrated tools all doing essentially the same job.<p>If we also had some simple, standardised, cross-platform convention for indicating which packages were available and had which dependencies on which platforms, so we could have common repositories that could advertise the specific versions but also the specific supported platforms of each package they hosted, and so any package management tool could speak the same protocol to those repositories, then many things would get better in terms of portability as well. This is an area where the language-specific tools do sometimes have advantages today, though those advantages typically turn to dependency hell almost immediately if you have a package containing a native code element that it decides to build with whatever C(++) compiler it can find on the target system.