Manjaro Package Restore
Retrieve and reinstall package lists
Options:
-h to show this help
-I to install missing packages (--needed by default)
Install options (require -I):
-B to limit package list, unless combined with another limit, to base root profile
-D to limit package list, unless combined with another limit, to desktop profile
-A to not omit already installed packages from any transaction
-E to mark packages to be installed with mapare as explicitly installed
-R to ignore package lists and only reinstall native system packages
-P to ignore install instructions and only print the package list
Use the additional --overwrite flag to overwrite existing files
(Exercise Caution)
Non-default packages:
-X to show any packages not included with a default installation
Keyring Assistant:
-K to begin keyring assistant prompts
(note: make use of the print option if you want to test but not install)
Now including support for all official and community edition desktops, options for overwrite, marking explicit, isolating the mhwd pkglist, reinstalling all local native packages, and maybe most notable a Keyring Assistant for those pesky times a manual download and initialization of pacman keys is required.
As with all the other functions this can be called remotely;
$ bash <(curl -s https://gitlab.com/cscs/mapare/-/raw/main/mapare) -K
Manjaro Package Restore
Retrieve and reinstall package lists
Keyring Assistant
To continue enter the password for USER:
Clearing the package cache may be useful to remove corrupted packages.
Cache directory: /var/cache/pacman/pkg/
:: Do you want to remove ALL files from cache? [y/N] n
Database directory: /var/lib/pacman/
:: Do you want to remove unused repositories? [Y/n] n
Remove local pacman keys (y/N)? n
Skipped
Download current keyring packages (y/N)? n
Skipped
Install the downloaded keyring packages (y/N)? n
Skipped
Initialize and populate keys (y/N)? n
Skipped
Reset mirrorlist (y/N)? n
Skipped
Sort mirrors, resync, and update (y/N)? n
Skipped
All done!
EDIT.
And now with the oft-requested “show non-default packages”.
To print any packages that are installed but not found in the default package lists or their dependencies.
Note: The -X or “show non-default packages” function requires pactree (of the pacman-contrib package). It also can take some extra time due to downloading, iterating, sanitizing, and comparing multiple lists (~1min in my case).