A fast terminal UI for exploring installed Arch Linux packages through your own categories.
Instead of scrolling through a flat pacman -Q list, pacwatch lets you organize packages into categories such as Development, Networking, Terminal, Media, or anything else you define in categories.toml, making it easier to understand what is installed and why.
It reads the local pacman database directly — no libalpm, daemon, or external services required.
Download the latest binary from the Releases page, make it executable, and run it:
chmod +x pacwatch
./pacwatchPrebuilt binaries are built for x86_64 Linux and are unsigned. If you'd rather verify the build yourself, use the source installation method below.
cargo build --releaseor
cargo run --releaseOn first launch, pacwatch creates:
~/.config/pacwatch/categories.toml
Edit this file to organize your packages. Press R inside the application to reload changes instantly.
| Flag | Description |
|---|---|
--config-path |
Print the configuration file location |
--reset-config |
Restore the default configuration |
| Key | Action |
|---|---|
h / l |
Move between panes |
j / k |
Move between selection |
gg / G |
Jump to top / bottom |
| Key | Action |
|---|---|
/ |
Search packages |
d:<text> |
Search descriptions |
c:<text> |
Search categories |
Enter |
Finish search |
Esc |
Cancel search |
| Key | Action |
|---|---|
a |
Create category |
r |
Rename category |
d |
Delete category |
Space |
Mark package |
Enter |
Move marked packages |
M |
Clear all marked packages |
| Key | Action |
|---|---|
s |
Cycle sort: name/size/new |
. |
Toggle dependencies |
o |
Toggle orphans |
R |
Reload categories.toml |
| Key | Action |
|---|---|
? |
Help |
q |
Quit |
Packages are grouped using a simple TOML file.
Example:
[categories]
"Development" = [
"rust",
"cargo",
"git"
]
"Terminal" = [
"tmux",
"zsh",
"fzf"
]Anything not listed automatically appears under Uncategorized.
pacwatch reads package metadata directly from
/var/lib/pacman/local/
and builds an in-memory view of your installed packages.
Reverse dependencies are computed automatically by scanning package dependency information — no extra database is maintained.
pacwatch intentionally focuses on exploration, not package management.
It does not:
- install packages
- remove packages
- interact with the AUR
- modify your system
Its job is to help you understand what's already installed.
scripts/check-coverage.shReports packages that are still uncategorized so you can keep your configuration complete.
