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.
I use native packages wherever possible, then flatpak’s after that, and then aur pretty much only for things that don’t run well in flatpaks. I really don’t want to have to look through 50 different pkgbuilds every time there’s an update and the downsides to flatpaks are, I believe, largely overstated
I just use pacman and yay. I avoid flatpaks as best I can, I don’t see the hype.
Pacman plus the AUR is the move on Arch based distros. The AUR gives you access to basically everything, and paru or yay handles the build chain without pain. Flatpak has its place for apps that ship messy runtime dependencies, but for most things it adds an unnecessary isolation layer. Have you tried paru as your AUR helper yet?
I haven’t actually installed an aur helper yet but when I end up needing one, I think I will go with paru.
I sometimes prefer Flatpak over AUR, because I do not trust everyone on the AUR to run scripts with root rights on my system. At least Flatpaks are a bit sandboxed (even if the sandbox is an illusion) and the programs don’t install and run with root rights. Sometimes the Flatpak is from the original developer and the script in AUR is not. Or the AUR script is not updated well and often enough, unlike day one Flatpak updates. But Flatpaks do not integrate well in your system and applications can look out of place too. There is a lot to consider, besides what you already mentioned.
I use both, prefer the AUR in optimal cases.
I use
yay, as it comes by default with EndeavourOS. It’s basically an AUR helper that usespacmanand works quite the same.Flatpak is a different package manager and has nothing to do with your system packages. They are not exclusive, I use both. So what you basically asking isn’t which package manager people use, but rather which package format.
Same here, I tried a number of arch derivatives and arch as well when I got a new desktop last year (after many years of mac work computers, iMac desktop for my kids, mostly Alpine images in the cloud/on k8s, and many many years of mostly Debian and fedora derivatives before I had kids and had time to putter around with *nix). Endeavor suited my needs (some local LLM stuff, personal browsing, a few OSS projects, and Steam) and yay has generally worked great to bridge the gap between pacman and aur.
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.
I have only ever had this issue with discord on arch.
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.
Whenever discord has an update, it will not fetch the update, but it tells me that an update can be downloaded.
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:
To disable the update check, add the line “SKIP_HOST_UPDATE”: true to ~/.config/discord/settings.json. If the file does not exist, create it and add the following:
~/.config/discord/settings.json
{ "SKIP_HOST_UPDATE": true }More info on https://wiki.archlinux.org/title/Discord
The flatpak version of discord is able to fetch for updates when launching the app without needing to system update. And for some reason it is specifically on a system update. Updating only discord does not update the version even after modifying the build_info.json. and I could disable updates, but that shouldn’t be necessary unless discord is pushing updates that are actively making the experience worse.
You’re completely missing the point. Discord is a chat app, not a package manager, therefore it should NOT update things EVER. You’re complaining that discord tries to do something it shouldn’t, fails and somehow you seem to think that’s pacman’s fault.
The “issue” doesn’t exist on flatpaks because discord probably checks if it’s installed via flatpak and runs an update using the flatpak command without your say so. The “solution” is to stop discord from trying to be “smart” and failing and let it be updated when pacman decides to.
The idea of a package manager is to let it manage your packages, if you want self-updating apps you don’t need a package manager, and good luck with dependencies and overlapping libraries.
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?
I don’t like Flatpak, so that makes it an easy choice for me. Flatpak apps never quite integrate properly
I like having Flatpaks as a fallback option, but if something is available in the arch repos, aur or chaotic-aur, I’ll always go there first
Paru, so Pacman & AUR…
With exactly one exception: Steam via flatpak because that’s the single package left that would need 32bit libraries from multilib-repo since Wine finally left those dependencies behind.
That’s interesting I have steam installed through pacman and I haven’t had any issues.
I didn’t have any actual issues with the native install either.
But with [multilib] activated there were dozens and dozens of 32bit libraries pulled alongside their regular version that I didn’t actually need. And I use Wine a lot more than Steam anyway. So once Wine went fully 64bit I decided to get rid of all that legacy multilib 32bit stuff.
Steam via flatpak also works and will do until they, too, fully switch over to WoW64 implementation.
I use paru
You can choose between things like flatpak or aur packages, but you’re gonna have to use pacman either way, since your core packages are still managed by pacman even if you decide to install most things through flatpak. Just wanted to point that out in case you were thinking of not using it at all anymore, cause it’s definitely not good to have your system get extremely out of date overtime. Having said that, it’s a matter of preference. The aur has more packages available, but flatpak has verified packages available, so assuming you stick to those, it could be safer. It also offers things like sandboxing. When i was on arch i only used the aur. I usually go with whatever has the most packages available or whatever is most convenient.
Yay.
And btw, that question is covered already.
You mean you have a package manager for your system without a password? Why would anyone want that?
Edit: For context. The part I was replying to was edited out.
(I can’t see the edited out part but if it was about yay…)
Yay builds in your local cache and then when it is ready to install it asks for sudo. The reason for this is because sudo can timeout during long builds, and more importantly if you compile with sudo you run the risk of arbitrary code execution. So it is safer to run with just
yayand then it will ask for sudo when it actually needed.You risk arbitrary code execution without needing sudo too.
No, that is not what it was about. I know, don’t run
sudo yay, but rather justyayand wait for password request. What it was is about a configuration to not ask password anymore, a passwordless package manger.
Convenience. It asks the kernel if you’re logged in and if you’re allowed to escalate. So, secure enough for a single-user system.
I don’t feel safe doing so. Would a script be able to run escalated rights without asking me a password? Is it somewhere displayed that such a process is started (notification in example or at least in the terminal a message?). And even for applications I am directly starting, I want it be explicit to require a password, that I am always aware its escalated root rights the app has now.
I can understand your view of convenience and I am “guilty” of some convenience stuff too. But this goes a bit too far for my taste.
Okok, i’ve removed the ssu config part.
Hey, I didn’t meant this to be removed or anything; was just sharing my personal opinion. Everyone can do whatever they want, as long as they are aware of consequences and get teached about it. I’m just a bit paranoid, that’s all.
I use an unholy blend of paru, Flatpak, Docker and AppImage apps (no Snap!) with Topgrade to update it all.
Topgrade seems really cool, I wonder how it compares to arch-update
Upvoted for Topgrade. It’s honestly so good on any system that employs more than one ‘updatable microcosm’,
It’s like magic too, because any new weird kind of package manager I add, it’s just picks it up and starts updating it. It can even update Windows apparently.
Personally, I use pacman when possible and flatpak when it’s not. I try to avoid the aur as I have had too many problems with missing dependencies or version conflicts. Plus, I don’t generally need things that are not in the repositories so it rarely comes up.
“But flatpaks are not lean!” While this is true, I find flatpaks don’t break my system. Flatpaks do use more resources, from storage to RAM, but I have plenty of both so it’s not really a concern.
Always use native pkgs if possibile (so use pacman/paru)
Look into the Chaotic AUR. It offers pre compiled AUR programs. Almost every app I really need has been there. If it’s not in there and I really need it and will get used often I’ll get it from the AUR.
I dont really like flatpaks much. I’ll use it if it’s easy and I dont plan on using the app much. Apps like Bottles. They are nice to have but rarely do I use it.
Why would you download precompiled AUR binaries? it just seams more stable and secure to compile yourself, with this your trusting a third party when you didn’t have to.
For me it’s convenience, i try to not have a bunch of aur packages. Some big packages can take a good while to compile.
Chaotic is also trying to combat threats by reviewing packages from maintainers that are not in their trust database. While not absolutely perfect at least they are trying to do something.
The aur is a use at your own rick batch of packages. Last year there were some malicious packages running wild. AUR expects the user to do their own due diligence and do you really have time to read every bit of code you are about to install for every update in all the possible languages they could be written in? This is why I try to limit my dependence on the aur if possible chaotic or otherwise.
pacman / yay
I also like pacseek as it provides a simple tui for package search and getting info about packages.










