Although not half as much as distro *fans*....
Printable View
You aren't supposed to do listings of /nix/store/ and I don't see much reason in it. There are often too many entries to list anyway, for example on my system I have over 29 thousand entries there (I'm a bit conservative when doing GC). Moreover, you can always use wildcards like /nix/store/*-firefox-*
That's problem is that the two first gets in the way of their hidden commercial interests. Unless there are compatibility between Linux distributions it will be impossible for Linux to conquer the desktop. And in turn this means no profit.
What I would suggest is a meta-standard that defines package spec:s in a independent way, so that the same spec:s can make packages for the various package managers and repository formats.
Then I would suggest building something like blastwave that gets installed into /somting like blastwave has /csw. That would make it easier to make something distribution-independent and coherent among platforms.
That's not so easy as it may seem (that's what XKCD illustrates). For example in NixOS we deal with the problem that to support transparent reliable updates you can't have libraries on standard paths but on some configure-time paths (no LSB, etc. !). Otherwise you can't atomically switch between two versions in one filesystem tree (which everyone want but almost none have).
Most packages can handle arbitrary paths or can be easily patched to do so (from our experience), but most packages systems IMHO count on standard paths. So it is IMHO possible to create this meta-standard but it will have to support all similar features, which will be a lot if we want to catch every small distro. I just currently can't imagine mainstream distro packagers supporting features that they don't need/use.
Upstream-based solutions to this seem to work better. We just need a tool that can from one reasonable description build packages at least for mainstream distros. But IMHO we have such, e.g. http://openbuildservice.org/ Nix can do this as well, but it isn't used much, as it is nonsense to maintain packages for other distros when they do it separately anyway (for most packages that we have).
the Unix principle of 'everything is a file' has one very interesting property of making the system discoverable, naming files with random number goes against this which is bad,
they already made it 'more discoverable' by putting the package name, but adding it at the end instead of the at the beginning *is* a mistake as it makes RE more complicated, prevents autocompletion.