So I recently installed Cachyos and I am now met with this problem.
There are kind of 2 main contenders here and I’m split between them. What do you use?
There is pacman + aur and then there is flatpak. Pacman has deep system integration and is much more lightweight but it has deep system integration and requires sudo to install. flatpak has sandboxing and easy permission management but it’s bloated and possibly less performant?
Of course if the package isn’t available on flathub then I will have to use the aur but when both are available it’s hard to decide.


Your question is not Arch specific, it’s “should I use flatpaks?” And the answer in my opinion is probably no.
Flatpaks are a good idea to isolate certain applications and to provide a uniform way of installing packages. So there might be some apps that are not available in your native package manager, but do provide flatpaks. For those cases flatpaks are probably preferred. But Arch based distros have the AUR, so there are a lot of apps that aren’t packaged for Arch that you can still get as a native package. Sure, using the AUR is risky and if you’re not on actual Arch things might break sporadically because of mismatched dependencies (although I think CachyOS is full parity of packages with Arch, so that’s maybe more of a Manjaro warning).
But flatpaks are clunky, bloated, require annoying permissions to be set to do basic things, and require you to update two package managers to do a full system update. They are more appealing for systems where you don’t want to give users root access but still allow them to install programs, but for your own computer I have never seen the appeal.
I partially disagree. I have found that some flatpaks are better than otherwise for updating the app. When I use the air branch of discord on arch, discord does not update automatically and I need to complete a system upgrade and modify a Jason file. The flatpak version updates automatically with no problems.
What is the air branch? Discord has a package on pacman, so it should just get updated with your normal system update, there’s no config or anything that could prevent that, pacman doesn’t care. What JSON do you have to edit and why?
Build_info.json
I have only ever had this issue with discord on arch. Whenever discord has an update, it will not fetch the update, but it tells me that an update can be downloaded.
This is the situation with discord through aur. https://karx.xyz/blog/discord/
I do not know the air branch
Also, I am trying to convince my friends to switch to element instead of discord, but they have been stubborn.
The issue you describe is not Arch specific and it’s not an issue. Using a package manager means using a program to manage your packages. Things can’t auto-upgrade, that breaks the point of a package manager.
Of course, if you install discord through pacman, then pacman manages the update.
As for the JSON file that’s a very hacky approach, discord shouldn’t outright fail to launch if there is an update. And in fact the Arch wiki says it has a flag to skip the version check completely:
{ "SKIP_HOST_UPDATE": true }More info on https://wiki.archlinux.org/title/Discord
I usually use the pacman repo and if it’s not in there decide for this specific app if I use the AUR or flatpak version
Yup, that sounds like a good approach. I could even see people doing Pacman -> Flatpaks -> AUR and it would make sense to me.
This is my approach. I use pacman where I can, flatpaks when something is unavailable, and AUR to get everything not available in the first two, or when a native package is preferred but isn’t in the Arch repos.
I guess you could put it that way. For most general applications, I prefer to use flatpak over pacman. Pacman and arch’s repos to me are still very confusing over other package managers (dnf, apt, etc)
What makes it confusing to you?