pacc
pacc is an Arch Linux package management assistant with a terminal user interface.
It aims to put pacman, paru, and AUR-oriented workflows into one focused TUI so
common maintenance tasks feel fast, visible, and safe.
This project is early but already usable for local package-maintenance review:
it can inspect paru clone cache entries, move selected cache directories to
trash, audit orphan packages, and remove selected orphans through an explicit
confirmation flow.
Goals
- Show the system package state from one screen
- Surface upgrades from
pacmanandparu - Review AUR updates without jumping between tools
- Help manage orphan packages and package cache cleanup
- Keep dangerous operations explicit and reviewable
Current Status
The current build includes:
- A Rust TUI built with
ratatuiandcrossterm - Workbench-style navigation with overview, cache, orphan, and action panes
- Backend detection for
pacmanandparu - Keyword search over local
parucache and clone metadata - Cache entry inspection for PKGBUILD, git metadata, and archived package files
- Single and multi-select cache cleanup using
gio trash - Orphan package audit using
pacman -Qdtq - Single and multi-select orphan removal using
sudo -n pacman -Rns
Planned Features
- Real package inventory from
pacman -Q - Upgrade views for official repos and AUR packages
- Search, filtering, and per-package inspection
- Action confirmations for sync, upgrade, and broader package flows
- Background command execution and better error reporting
Usage
Default keys:
Tab: switch focus/: search the active package workspaceSpace: toggle selection for the highlighted cache or orphan entryd: open delete confirmation for the selected cache or orphan entryUp/Down: move selectionEnter: inspect the selected package entry or trigger the selected action stubr: refresh backend detection, cache index, and orphan auditqorEsc: quit
Cache deletion is intentionally limited to top-level directories below the
detected paru clone directory and moves them to trash rather than deleting
them permanently. Orphan removal is a real system package operation and uses
sudo -n pacman -Rns -- <targets>, so it requires non-interactive sudo access.
Development
Publishing
This crate is published on crates.io as pacc.
License
Licensed under either of the following, at your option:
- Apache License, Version 2.0
- MIT License
See LICENSE-APACHE and LICENSE-MIT.