There is not a single package manager in existence for Linux that gives me these things.
There is not a single package manager in existence for Linux that gives me these things.
I really think your argument against package managers on Linux is incorrect. Many linux distributions provide "some recent version" of common tools, but of course you can get the latest package directly from the developers.
Nothing stops you from getting the latest packages directly from the developer (assuming the developer provides packages in the first place). Some developers even offer their own repository you could add to the package manager so you can stay up to date regardless of whatever version you don't like in the OS repository.
> I like having portable applications that don't even need installation.
You can build from source and run without installing. That's probably not quite what you mean though.
> I like being able to put applications on different disks.
No problem here. You can mount disks to wherever you want and you can install using a prefix path to those locations.
> I like being able to have multiple versions of an application.
Prefix path to the rescue here too.
Edit: answered more of your concerns
A package manager really should be able to do prefixed installs on any package, but that's far from a universal feature right now.
I've spent the past five years building a lot of things from source. I agree that there are definitely a lot of things that it's nontrivial for. However, I've found that the hardest part is satisfying dependencies. Once dependencies are satisfied, building is usually really easy. And the software that isn't easy to build after satisfying dependencies is usually not worth building in the first place.
Of course, that's just my experience as a C++ developer.
If you're willing to compile it from source, which I'm not since it isn't the 70s anymore.
>...
The rest of these are all the same thing: you can do these things as long as you compile from source. As I've already mentioned, I consider that a backwards and tedious way to deal with application installation. I mean ffs, getting build environments right is such a pain that many devs ship a docker container of a working environment. Not to mention it is only viable with OSS software.
I don't need every program on my SSD. Makes perfect sense.
I knew a guy who had MS word 97, 2000, 03, and 07 all installed on the same machine, and he used all of them for various tasks. Insane? Most certainly, but welcome to humanity.
A better approach, if you care about this, is simply to have a lifecycle policy where more recently used blocks live on the SSD and less recently used blocks move to slower storage (bcache can do this for you), or are deleted (this is a planned feature: http://appfs.rkeene.org/web/tktview?name=930821d0fb ).
Nix is the package manager that does this. It literally does damn near everything that comes out of every HN discussion of package managers, ever, but very few seem to bother investigating it.
Also, if I understand how nix works correctly, it still can't create portable applications.