A warm, beautiful Terminal User Interface (TUI) for Arch Linux package management, written in Go.
- Unified Search: Search through Official Arch repositories and the AUR simultaneously.
- Smart Sorting: Exact matches and already installed packages bubbled to the top.
- Modern Aesthetics: Cozy layouts with full theme customization (Gruvbox, OneDark, Dracula, Nord, Catppuccin).
- Detailed Package Info: View maintainer, votes, version histories, and raw PKGBUILD files directly in the interface.
- Bulk & Safe Operations: Queue multiple package installations or removals. Review detailed package plans and safety warnings before execution.
- Speed & Portability: Built with Go and Charmbracelet's
bubbleteafor high performance and low dependencies.
gopac features intuitive keyboard navigation. Press ? inside the app to toggle the help overlay.
| Key | Action | Context |
|---|---|---|
q |
Quit application | Global |
? |
Toggle help overlay | Global |
/ |
Focus search bar | Global |
tab |
Cycle focus (Search ➔ List ➔ Details) | Global |
shift+tab |
Cycle focus backwards | Global |
U |
Perform system upgrade (pacman -Syu / helper equivalent) |
Global |
I |
Process queued operations (Install/Remove modal) | Global |
C |
Clear marked package queue | Global |
p |
Toggle AUR PKGBUILD view | Global (for AUR packages) |
j / ↓ |
Select next package | List Pane |
k / ↑ |
Select previous package | List Pane |
h / ← |
Switch to previous tab | List Pane (ALL ➔ AUR ➔ OFFICIAL ➔ INSTALLED) |
l / → |
Switch to next tab | List Pane |
space |
Mark package for installation/removal | List Pane |
enter |
View/confirm operations for selected package | List Pane |
j / ↓ |
Scroll details down line-by-line | Details Pane |
k / ↑ |
Scroll details up line-by-line | Details Pane |
ctrl+d |
Page down details (10 lines) | Details Pane |
ctrl+u |
Page up details (10 lines) | Details Pane |
esc |
Back to package list focus | Details / Search Pane |
gopac checks for user configurations in ~/.config/gopac/config.yaml.
# ~/.config/gopac/config.yaml
# Set your preferred AUR helper (e.g. paru, yay, pikaur, aura, trizen)
# If empty, gopac will auto-detect helpers in order of popularity
aur_helper: yay
# Choose your theme style
# Supported options: gruvbox, onedark, dracula, nord, catppuccin
theme: gruvbox| Theme | Config Value | Description |
|---|---|---|
| Gruvbox (Default) | gruvbox |
Retro-cozy pastel style |
| Dracula | dracula |
High-contrast dark theme |
| OneDark | onedark |
Warm, balanced dark colorway |
| Nord | nord |
Clean, cool arctic palette |
| Catppuccin | catppuccin |
Soft, warm pastel design |
When aur_helper is not specified, gopac will automatically search your $PATH and use the first available helper:
paruyaypikaurauratrizenpacman(fallback for official repositories only)
You can also specify the environment variable AUR_HELPER to override auto-detection without writing a config file:
export AUR_HELPER=paruYou can install gopac directly using your favorite AUR helper:
# Compile and install from source
yay -S gopac
# Install pre-built binary
yay -S gopac-binAlternatively, you can build from source:
# Clone the repository
git clone https://github.com/the-daonm/gopac.git
cd gopac
# Build binary
make build
# Move binary to target path
sudo mv gopac /usr/bin/To install fish shell completions:
mkdir -p ~/.config/fish/completions
cp completions/gopac.fish ~/.config/fish/completions/gopac supports several startup flags to temporarily override configurations:
Usage: gopac [flags]
Flags:
-H, --helper Specify AUR helper to use (e.g. paru, yay)
-t, --theme Specify UI theme (gruvbox, onedark, dracula, nord, catppuccin)
-v, --version Show version information# Start gopac with the Dracula theme
gopac -t dracula
# Use paru as the AUR helper
gopac --helper paruThis project is licensed under the MIT License - see the LICENCE file for details.

