Interactive fzf-based TUI for Arch Linux package management. Install, remove, and browse packages with fuzzy search, multi-select, and live previews.
- Install packages from official repos and AUR with live info/PKGBUILD preview
- Remove packages with dependency tree inspection
- Browse installed packages with info, dependency trees, and file listings
- Auto-detects your AUR helper (yay > paru > pacman fallback)
- Degrades gracefully when optional tools are missing
- Multi-select with Tab, keyboard-driven workflow
| Key | Action |
|---|---|
| Tab | Select/deselect package |
| Enter | Confirm selection |
| Esc | Cancel/exit |
| Alt-P | Toggle preview panel |
| Alt-J/K | Scroll preview |
| Alt-I | Package info |
| Alt-B | View PKGBUILD (install mode, requires yay/paru) |
| Alt-D | Dependency tree (requires pacman-contrib) |
| Alt-F | Installed files list (search mode) |
| Mode | Color | Meaning |
|---|---|---|
| Menu | Magenta | Navigation |
| Install | Green | Additive action |
| Remove | Red | Destructive action |
| Search | Cyan | Informational |
curl -sSL https://raw.githubusercontent.com/Its-Haze/pacmenu/main/install.sh | bashgit clone https://github.com/Its-Haze/pacmenu.git
cd pacmenu
make installDefault PREFIX is ~/.local. For system-wide:
sudo make PREFIX=/usr installyay -S pacmenumake uninstall
# or for system-wide:
sudo make PREFIX=/usr uninstallpacmenu # Interactive menu
pacmenu install # Install packages
pacmenu remove # Remove packages
pacmenu search # Browse installed packages
pacmenu --help # Show help
pacmenu --version # Show versionShort aliases: pacmenu i, pacmenu r, pacmenu s
| Package | Required | Purpose |
|---|---|---|
| bash | Yes | Shell runtime |
| fzf | Yes | Fuzzy finder interface |
| pacman | Yes | Package management (Arch Linux) |
| yay | No | AUR support (recommended) |
| paru | No | AUR support (alternative) |
| pacman-contrib | No | Dependency tree viewing (pactree) |
git clone https://github.com/Its-Haze/pacmenu.git
cd pacmenu
make dev # Symlink scripts for live development
make check # Run shellcheck + syntax validation
make clean # Clear package cacheInspired by Omarchy's package management scripts.