PacUI: Bash script providing advanced Pacman and Yay/Pikaur/Aurman/Pakku/Trizen/Pacaur functionality in a simple UI



great idea!

so, when no aur helper is installed, pacui tries to do as much as possible with pacman.
whenever it could do more with aur helpers it displays a warning, but does not quit (as it is currently done).

do you think this is the right solution or should i not display a warning at all?
maybe the user does not want to use an aur helper.


Would it be possible to not display the AUR specific options ( UA and LA) if there is no helper when using interactive (UI) mode? An error message would be appropriate if called using pacui la (or ua).


i have just updated pacui-git with your ideas. please test and report back if you think i can improve something.


I did a quick test by removing the helpers and see that you removed the AUR related items in the UI. The message for trying to run pacui ua looks good, with sufficient information. The other commands worked as expected. :+1::clap:


have the warning be dismissable, or show up only the first time. kinda like the first time you use sudo.


currently, pacui behaves as following when no aur helper is installed:

  • all aur related item are not visible (no text in help page (short and long version) and no UI)

  • no aur packages get shown (when installing packages) and cannot be installed

  • whenever an aur helper is needed, either pacman gets used (such when installing packages, doing a system update, or removing orphans) or a warning message is displayed (e.g. when you want to forcefully update the aur packages on your system)

  • ‘la’ = ‘list installed from aur’ still works fully (but is not being displayed), because it lists all non-repository packages (e.g. packages you have manually installed.

  • ‘remove packages’ still works for (already installed) aur packages


That sounds excellent!


i have just done a release of pacui 1.9. there are about 90 commits spread over 2 months of work in it. the OP in this topic and the front page of github got updated with new screenshots and a slightly adjusted description.
version 1.9 is now in the unstable branch of manjaro.

you can read rather detailed release notes here on github:


After today’s unstable update I got the following message when using maintenance option (pacui -m):

The following packages are neither in your package repository nor the AUR. They will never be updated.
Unless you know exactly what you are doing, it is recommended to remove them:
corebird …

I traced this back to the line 289

           pkg=$(  comm -23 <(pacman -Qqm | sort) <(sort -u /tmp/aur/packages.gz)  )

The file packages.gz needs to be gunzipped prior to comparison.


…and yet Yaourt still seems to work for most, (if not all), basic needs, AND, it’s also still in the basic stable Manjaro post-installs, … :wink:
Constant change is lovely, but ONLY when someone CONSTANTLY maintains it.
It’s plain to see that Yaourt is still around for the long haul, for better or worse, whereas even pacaur has fallen by the “unmaintained” roadside.
Arch upstream hates AUR, what don’t we get yet?.

…then use “makepkg”.


thank you for confirming my suspicion.
yesterday evening, i have also noticed (without reading your post) that AUR support is broken (again) in pacui.

in mid-december the AUR was also broken. then, the packages.gz file suddenly contained a pure list of package names in an uncompressed way. the solution was to use packages.gz directly.
now, it seems somebody has reverted the change.

i am currently checking, whether pacui 1.9 is broken. if this is the case, i have to release an update today or tomorrow.


i have just released version 1.9.1 and 1.9.2. it already is available in the AUR and should be shortly available in the unstable branch of manjaro.

if the AUR support keeps breaking in the future, i might have to adopt the method of AUR interaction of trizen/yay/yaourt/pacaur. this would completely break pacui’s software design, though.


I have been testing yay and it looks promising. No runtime depends and incorporates many things I like about yaourt and pacaur.


you are talking about “yay-bin”.
“yay” requires a 300mb installation of “go” (as make dependency).

but i agree that yay is great. i especially like the highlighting of package update version numbers when doing “yay -Syu”. yaourt has a similar feature, which i have always liked more than pacaur’s plain list of packages to update.

the only thing, which hinders integration of yay into pacui is the following:

  • pacman -Si <manjaro package> does not requires root privileges (as it should)

  • yay -Si <AUR package> does not requires root privileges (as it should)

  • yay -Si <manjaro package> requires root privileges

the last point is the problem. this means i cannot display package information of manjaro packages inside of pacui.



Makedepends are heavy of course, but if we package it then users and iso maintainers don’t need to care about that. This what I was getting at. Of course, using yay-bin achieves the same.

Need help with that? Solution seems to be to check if package is in the repos and vary the package information command accordingly. The price is some extra overhead in already slowish function, but probably not too much.


you are right. a simple if-statement could solve my problem. thanks for the offer.

yay has not released new version for almost 2 months. whenever they release a new version (or two) and this problem is not fixed, i think about implementing a custom fix (just for yay, because yaourt, pacaur, and trizen can do this).
let’s be a little patient.


Something like

if $(pacman -Ss ^$pkgname$); then
	pacman -Si ^"$pkgname"$
	$aur_helper -Si ^"$pkgname"$

Plain pacman -S seems to be much faster check than using pacman -Si directly. Otherwise one could call -Si directly and then call aur helper only if there is no output. This might be marginally faster for repo packages, but doubly slower for aur packages.


After today’s stable update, i got this message when i tried to use option 11

/usr/bin/pacui: line 1265: XDG_CONFIG_DIRS: unbound variable


+1 same here.


thanks for the report.

i have just fixed the problem (and another one also related to the new bash strict mode) in pacui-git.