For most platforms there is still quite a distance to go before we can declare success, some major parts that we really need for a smooth operation are not yet implemented. On Windows we get those features from the store. But, it actually should all work on Archlinux already, @simeonschaub added support for that a while ago and we now automatically publish juliaup to AUR as part of our normal build process.
The question of how this all relates to existing package managers is an interesting one
Here is my take: the way I think about juliaup is that it handles Julia itself in a similar way in which we handle binary artifacts. So if you use juliaup, it provides/“owns” 1) the main julia command and 2) the juliaup command (that is similar to the Julia package manager). Specific Julia versions become more like Julia packages, i.e. you can use different ones, switch between them etc.
I do think this model enables scenarios that we would never be able to solve via system package managers. The primary ones are really the version multiplexer, i.e. the support of having multiple Julia versions on your system at the same time, being able to easily switch between them etc. In the future I also hope that we can add support for encoding a Julia version in Manifest.toml that can be picked up by juliaup, see here. Our package manager already enables fantastic reproducibility, but very much conditional on you using the correct Julia version. I think with the Juliaup design we will be able to extend our reproducibility story to also include Julia itself. There are also features like native support for different channels (lts, and release for example) that are useful.
I do want to integrate all of this with system package managers, though. But I think the level where that should happen is that these system package managers deploy Juliaup itself. I could also imagine a future where Juliaup becomes the official, default deployment mechanism for Julia at which point commands like brew install julia or sudo apt install julia would actually install Juliaup. But for now brew install juliaup or apt install juliaup I think would also work. On Windows and Archlinux that is the model right now: Juliaup is deployed and updated via the system native package manager (Windows Store and AUR respectively).
We are also currently working on features that allow users to install Juliaup itself without a system package manager, in the spirit of how you install rustup via a shell script on Linux and Mac. For those scenarios we need to implement a self-update mechanism for Juliaup, and that is the main piece that is still missing before this self installer is ready for public use.
Juliaup installs Julia versions itself into the Julia depot, so there should not be any need for elevated privileges, it is really very similar to how Julia installs binary artifacts.