drxpkg is a Terminal User Interface (TUI) designed for Arch Linux to streamline package search, installation, system updates, package removal, and system maintenance. Built in Go with tview and alpm (libalpm/AUR), it provides an efficient and visually clean interface for managing your system packages and upkeep routines.
If you are using Arch Linux with an AUR helper (e.g. yay or paru), you can install the git package:
yay -S drxpkg-gitYou can clone the repository and compile it locally using make:
git clone https://github.com/druxorey/drxpkg.git
cd drxpkg
make
./drxpkgThe interface is structured into 4 main tabs:
-
Install (
F1/[]): Search through official repositories and the AUR simultaneously. View detailed package metadata (version, repository, description, dependencies, license, etc.) and install packages directly with a single keystroke. -
Update (
F2/[]): Check for available updates across repo and AUR packages. Supports granular selection, selecting all (a), visual range selection (v), and executing system upgrades (i). -
Uninstall (
F3/[]): Browse installed packages with detailed information and their installation reason (explicit or dependency). Supports multi-selection and visual selection for safe package removal. -
Maintenance (
F4/[]): Perform system maintenance tasks, including inspecting and clearing trash files, cleaning package caches (Pacman/AUR), vacuuming systemd journal logs, removing Pacman database lockfiles, ranking fastest mirrors, or running custom maintenance scripts.
Note
To view the complete list of keyboard shortcuts at any time, press ? within the application to open the Help popup.
Press . or F5 inside drxpkg to open the Settings popup.
Configuration files and hooks are stored in ~/.config/drxpkg/ (or $XDG_CONFIG_HOME/drxpkg/):
config.json: Stores application preferences (package list tracking path, install/uninstall/upgrade commands, max search results, disable AUR toggle, and enable hooks toggle).
drxpkg includes an automated hooks system that executes custom Bash scripts during system actions. Scripts placed inside the hooks directories run sequentially:
-
Directory structure:
~/.config/drxpkg/hooks/install/~/.config/drxpkg/hooks/update/~/.config/drxpkg/hooks/uninstall/~/.config/drxpkg/hooks/maintenance/
-
Execution order:
-
Pre-action hooks: Any executable script prefixed with
prev_(e.g.,prev_backup.sh) runs before the package action or upgrade begins. -
Post-action hooks: Scripts without the
prev_prefix (e.g.,01_notify.sh) run after the action completes.
-
This project is licensed under the MIT License. See the LICENSE file for more details.
