Skip to content
ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

453 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

gaur

gaur

A beautiful, interactive TUI for Arch Linux package management

Built with Bubble Tea โ€ข Powered by paru or yay

Documentation: gaur.prbhtkumr.xyz

โš ๏ธ Disclaimer: This project is mostly vibecoded and continues to be developed through vibecoding.
Do report rough edges, and expect an occasional "it works on my machine" moment (trying my best to eliminate those).


Table of Contents

โœจ Features

๐Ÿ“ฆ Package Management

  • Fuzzy Search โ€” Lightning-fast fuzzy matching powered by fzf with match highlighting
  • Dynamic Helper Support โ€” Seamlessly switch between paru and yay via configuration
  • Repository Filtering โ€” Filter by source with prefixes: c: (core), e: (extra), m: (multilib), a: (aur)
  • Batch Operations โ€” Mark multiple packages with Tab and install/remove them all at once
  • Selective Updates โ€” Carefully manage your system by selecting specific packages to update rather than full updates
  • Interactive Hand-off โ€” Correctly handles terminal prompts for password entry and conflict resolution
  • Real-time Package Details โ€” View detailed package information with debounced loading

๐Ÿ“Š System Dashboard

  • Package Statistics โ€” Total, explicit, foreign (AUR), and orphan package counts
  • Disk Space Analysis โ€” Capacity, usage breakdown (packages, cache, other, free) with visual proportional bars
  • Repository Distribution โ€” Breakdown of packages by repository (core, extra, multilib, AUR)
  • XDG Compliance โ€” Automatically respects $XDG_CACHE_HOME for all cache operations
  • Top Packages โ€” See your largest installed packages at a glance
  • Top Cache Hogs โ€” Identifies the largest packages taking up space across both pacman and helper caches
  • Cache Management โ€” Clean package caches via an interactive menu, choose keep policies, or selectively delete packages from cache
  • Orphan Removal โ€” Identify and remove orphaned packages

๐ŸŽจ Interface

  • 11 Built-in Themes โ€” Catppuccin, Dracula, Gruvbox, One Dark, Monokai Pro, Rose Pine, Solarized, Tokyonight, and more
  • Custom TOML Themes โ€” Create your own themes in $XDG_CONFIG_HOME/gaur/themes/
  • Theme Export โ€” Use --export-themes to customize default themes
  • Mouse Support โ€” Full mouse wheel scrolling throughout the interface
  • Mode-specific Theming โ€” Each mode (Install, Dash, Remove, Update) has its own color scheme
  • In-App Settings Menu โ€” Press , to instantly change themes, borders, and helpers without restarting
  • Live Theme Preview โ€” See theme changes instantly as you scroll through options
  • Selection Panel โ€” Dedicated panel for managing marked packages
  • Centered Dialogs โ€” All confirmation and error boxes are perfectly centered line-by-line
  • Automatic Refresh โ€” The entire UI refreshes automatically after any system change to ensure data integrity

๐Ÿ“‹ Requirements

  • Arch Linux (or Arch-based distribution)
  • paru or yay โ€” AUR helper
  • fzf โ€” Fuzzy finder (for search)
  • paccache โ€” Cache management (from pacman-contrib)
  • Go 1.21+ (for building from source)

๐Ÿ–ผ๏ธ Interface

โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ Repository   : extra                                                     | Selected (2) [*] โ”‚
โ”‚ Name         : firefox                                                   |  firefox         โ”‚
โ”‚ Version      : 133.0-1                                                   |  firefoxpwa      |
โ”‚ Description  : Fast, Private & Safe Web Browser                          โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚
โ”‚ Architecture : x86_64                                                                       โ”‚
โ”‚ URL          : https://www.mozilla.org/firefox                                              โ”‚
โ”‚                                                                                             โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  extra/firefox-i18n-an 147.0.2-1                                                            โ”‚
โ”‚  extra/firefox-i18n-af 147.0.2-1                                                            โ”‚
โ”‚ *extra/firefoxpwa 2.18.0.1                                                                  โ”‚
โ”‚>*extra/firefox 147.0.2-1 [installed]                                                        โ”‚
โ”‚                                                                                             โ”‚
โ”‚Found 610 packages (492 from AUR)                                                            โ”‚
โ”‚> firefox                                                                                    โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
      [/] search  [tab] mark  [i]nstall  [d]ash  [r]emove  [u]pdate  [,] settings  [q]uit

๐Ÿš€ Installation

From AUR (Recommended)

paru -S gaur-bin
# or
yay -S gaur-bin

From Source

git clone https://github.com/prbhtkumr/gaur.git
cd gaur
go build -o gaur .
sudo mv gaur /usr/local/bin/

Using go install

go install github.com/prbhtkumr/gaur@latest

โš™๏ธ Configuration

gaur creates a configuration file at ~/.config/gaur/config.toml on first run. You can also configure most settings directly in the app using the Settings Menu (,).

[startup]
# Start in: "dashboard", "dash", "install", "remove", "update"
default_mode = "install"

[ui]
# Color theme (use --list-themes to see options)
theme = "catppuccin-mocha"
# Border style: "rounded", "normal", "thick", "double"
border_type = "rounded"

[commands]
# AUR helper: "paru" (default) or "yay"
aur_helper = "paru"
# Cache management tool
cache_tool = "paccache"
# Custom flags for install/remove
install_flags = ""
remove_flags = "-Rns"

[advanced]
# Debounce delay for package details (ms)
debounce_ms = 150
# Custom cache directory (optional, must be absolute path)
cache_dir = ""

๐Ÿ“– Usage

gaur              # Start with default mode
gaur -i           # Start in install mode
gaur -d           # Start in dashboard mode
gaur --theme dracula  # Use Dracula theme

Keybindings

Global

Key Alt Key Action
i Alt+2 Switch to Install mode
d Alt+1 Switch to Dashboard mode
r Alt+4 Switch to Remove mode
u Alt+3 Switch to Update mode
, Open Settings menu
q Quit
Ctrl+C Force quit

Navigation

Key Action
/ Focus search input
โ†‘ / k Move selection up
โ†“ / j Move selection down
PgUp Jump 10 items up
PgDown Jump 10 items down
Esc Defocus input / Clear selections

Package Operations

Key Action
Tab Mark/unmark package for batch operation
Enter Install/remove selected or marked packages
* Toggle selection panel focus

Update Mode

Key Action
Enter / y / a Proceed with a full system update
s Switch to Selective Update mode

Dashboard

Key Action
t Jump to Remove mode โ†’ All packages
e Jump to Remove mode โ†’ Explicit packages
f Jump to Remove mode โ†’ Foreign (AUR) packages
o Jump to Remove mode โ†’ Orphan packages
c Open Cache Cleaning menu
R Remove all orphan packages
Ctrl+R Refresh dashboard data

Confirmation Dialogs

Key Action
y / Enter Confirm operation
n / Esc Cancel operation
โ†‘ / โ†“ Scroll package list

Mouse Support

gaur has full mouse wheel support:

  • Scroll to navigate package lists
  • In split views, scroll left side for list, right side for details
  • Works in confirmation dialogs too

Search Filters

Install Mode

Prefix your search with repository filters:

Prefix Repository
c: Core
e: Extra
m: Multilib
a: AUR

Combine filters: ae:firefox searches AUR and Extra for "firefox"

Remove Mode

Filter installed packages by type:

Prefix Filter
t: Total (all packages)
e: / l: Explicitly installed
f: / a: Foreign (AUR) packages
o: Orphan packages

Combined: of:google searches for orphaned AUR packages matching "google".

Themes

gaur ships with 11 color themes. Use the --theme flag or press , for in-app settings:

gaur --theme dracula
gaur --list-themes    # See all options

Custom Themes

gaur supports custom themes via TOML files. Theme files are stored in $XDG_CONFIG_HOME/gaur/themes/ (typically ~/.config/gaur/themes/).

Export default themes for customization:

gaur --export-themes

This copies all embedded default themes to your themes directory, allowing you to customize them.

Create a custom theme:

  1. Create a new TOML file: ~/.config/gaur/themes/my_theme.toml
  2. Add your color definitions (see format below)
  3. Select it in settings or via --theme my-theme

Theme file format:

# Base colors
border = "#6c7086"
selected = "#cba6f7"
text = "#cdd6f4"
subtle = "#6c7086"
title = "#f9e2af"

# UI elements
scrollbar_track = "#181825"
scrollbar_thumb = "#6c7086"
selection_bg = "#313244"
dim_text = "#6c7086"

# Mode colors
install = "#89b4fa"
dashboard = "#f5c2e7"
remove = "#f38ba8"
update = "#a6e3a1"
cache = "#cba6f7"

# Source colors
core = "#a6e3a1"
extra = "#89b4fa"
multilib = "#fab387"
aur = "#cba6f7"

# Status colors
success = "#a6e3a1"
warning = "#f9e2af"
error = "#f38ba8"
highlight = "#f9e2af"

# Dashboard colors
dashboard_label = "#cdd6f4"
dashboard_value = "#89dceb"
dashboard_warning = "#f38ba8"
dashboard_desc = "#a6adc8"

# Dialog colors
dialog_border = "#cba6f7"
confirm_install = "#89b4fa"
confirm_remove = "#fab387"
confirm_clean = "#a6e3a1"
confirm_nuke = "#f38ba8"
confirm_selective = "#cba6f7"

Theme naming:

  • Filename my_theme.toml becomes "My Theme" in the UI
  • Underscores and hyphens are converted to spaces and title-cased

๐Ÿ”ง How It Works

  1. Package Database โ€” Loads repository packages from local pacman cache on startup
  2. AUR Search โ€” Queries AUR via your configured helper (debounced)
  3. Fuzzy Matching โ€” Uses fzf --filter for fast, relevance-ranked fuzzy matching
  4. Interactive Operations โ€” Hands off to the AUR helper in the terminal for install/remove/update with full interactivity (password prompts, conflict resolution, etc.)
  5. Unified Refresh โ€” Re-scans the system after any change to update dashboard stats and lists instantly.

๐Ÿ“„ License

GPLv3 License โ€” See LICENSE for details.


About

A beautiful, interactive TUI for Arch Linux package management.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages