Ax is a modern AUR helper and Pacman wrapper written in Rust, designed for simplicity, efficiency, and reliability. It aims to streamline package management on Arch Linux systems by seamlessly integrating official repository packages and the Arch User Repository (AUR).
- Unified Interface: Handles both official repository packages (via
pacman) and AUR packages transparently. - Safety First:
- Arch Linux News Integration: Checks the latest Arch Linux News before performing system upgrades to prevent potential breakage.
- PKGBUILD Review: Prompts users to review
PKGBUILDfiles and viewgit diffs before building.
- Improved Performance: Utilizes
libalpmdirectly for efficient package database queries, reducing the overhead of spawningpacmanprocesses. - Interactive Search: Simple and effective interactive menu for searching and selecting packages.
- Configuration: Highly configurable via a TOML configuration file to control build directories, editors, and behavior.
- Clean Builds: Easy option to force clean builds for troubleshooting.
You can easily install ax from the AUR using your favorite helper (or makepkg):
yay -S ax-bin
# or
yay -S ax-gitYou can also install the binary via Cargo:
cargo install axpmNote: Ensure ~/.cargo/bin is in your PATH.
Ensure you have the base development tools installed:
sudo pacman -S --needed base-devel gitClone the repository and install using Cargo:
git clone https://github.com/Manpreet113/ax.git
cd ax
cargo install --path .Ax follows a syntax similar to pacman to minimize the learning curve. In fact, it supports all standard pacman commands and transparently forwards them.
Search for a package in both official repositories and the AUR:
ax <query>
# Example: ax spotifyInstall a specific package by name:
ax -S <package_name>Perform a full system upgrade (sync repo databases, upgrade repo packages, and upgrade AUR packages), checking for important news first:
ax -SyuRemove a package and its unused dependencies:
ax -R <package_name>List installed packages or search the local database:
ax -Q
ax -Qs <query>Install a local package archive:
ax -U /path/to/package.pkg.tar.zstAll other pacman commands like Database (-D), Files (-F), and Deptest (-T) are also supported and passed through transparently:
ax -F <file_name>
ax -D --asexplicit <package_name>To force a clean build (remove build directory before building AUR packages):
ax -S <package> --cleanbuildAx can be configured via ~/.config/ax/config.toml. The file is automatically created on first run if it doesn't exist.
# ~/.config/ax/config.toml
# Directory where AUR packages are built.
# Default: $XDG_CACHE_HOME/ax or ~/.cache/ax
build_dir = "/home/user/.cache/ax"
# Editor to use for PKGBUILD reviews.
# Default: $EDITOR or 'vi'
editor = "nvim"
# Whether to always clean the build directory before building.
# Default: false
clean_build = false
# Whether to check and display Arch Linux News before upgrades.
# Default: true
show_news = true
# Whether to use a diff viewer for inspecting changes.
# Default: true
diff_viewer = trueMIT License. See LICENSE for details.