This repository has been archived by the owner. It is now read-only.
N(ot) A(nother) A(UR) Man(ager)
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


N(ot) A(nother) A(UR) Man(ager) or more like "nah"-"man" just another AUR helper. The general list of other Arch AUR helpers is here if naaman isn't for you

naaman is focused on providing a pacman-ish interface to dealing with AUR packages.

Build Status



You should install via the AUR to bootstrap yourself and use naaman after that.



git clone this repo

install dependencies

sudo make dev


Before you begin using naaman

naaman is not:

  • a dependency solver, it's a pyalpm/makepkg wrapper for the AUR to help you
  • going to do everything for you
  • pacman, though it has some overlap on nomenclature (e.g. -Syyu looks similar but is only for your AUR packages)
  • verifying AURs are safe before you use them (use --fetch to verify/build by hand as needed)
  • fool proof and is capable of being tricked/fooled/skipped
  • a pacman wrapper (it doesn't manage your system packages, just your AUR packages)

These items are known and are not currently planned to be solved:

  • Complicated/multi-AUR package dependency resolution
  • Replicating all conceivable pacman args that might be useful for AUR management
  • VCS packages are complicated, you have options to mitigate that
  • Split packages are also complicated, if naaman cannot handle it for you, try using --fetch and building by hand

naaman is not meant to compete to be the best aur helper/manager/wrapper/etc, it is just one of many options


naaman relies on being similar (in terms of the cli) to pacman while having to do special things for itself


naaman supports the following flags (worth noting here, many more in the manual):

output the version


perform debug output/logging


to output trace level outputs (for debugging)


specify the naaman config file (defaults to ~/.config/naaman.conf)

  • if the config file does not exist it will be ignored
  • see the naaman.conf example for how to use it (only keys in the example are supported)

for sync/update/upgrades

to skip vcs-package updates/installs


to ignore vcs updates for a certain number of hours (<= 0 disables this and is default)

--vcs-ignore 24

to override ignoring/vcs cache/etc. (applies to -S and -u)


read/see more options via man

man naaman

or for the config file

man naaman.conf


you can perform a sync to install new packages from the AUR

naaman -S <package> <package1>

search for packages in the aur

naaman -Ss <package>
  • specify -i for more information
  • specify -ii with a specific package to get detailed information

update all packages

naaman -Su

or some packages

naaman -Su <package> <package1>

remove cache information for naaman

naaman -Sc


to remove packages

naaman -R <package> <package1>


to query the installed packages

naaman -Q

or to check for some packages

naaman -Q <package>

to check for packages that are dropped (gone) from the aur

naaman -Qg


install some packages

naaman -S <package1> <package2-vcs-git> <package3>

see what AUR packages are installed

naaman -Q

update non-vcs packages

naaman -Syyu

remove a package

naaman -R <package3>

updating everything now

pacman -Su


Most configuration values map to parameters, with the exception of REMOVAL and MAKEPKG. Each of which can be listed multiple times (additive).


Specify flags to pass to pacman when executing a -R



Specify flags to pass to makepkg