Skip to content

Firstp1ck/Pacsea

Pacsea

License: MIT Made with Rust Target: Arch Linux

Pacsea is a fast, friendly TUI for browsing and installing Arch and AUR packages — built for speed and minimal keystrokes.

Community

✨ Idea or bug? Open an issue or check out Idea Discussions
❤️ Thank you to the Pacsea community for your ideas, reports, and support!

Supported Platforms

Supported Distributions Supported Languages
Arch Linux English
EndeavourOS German
CachyOS Hungarian
Manjaro
Artix

Main app view

Main app view (v0.5.2)

Table of Contents

Quick start

  • Install (stable):
paru -S pacsea-bin   # or: yay -S pacsea-bin
  • Install (latest):
paru -S pacsea-git   # or: yay -S pacsea-git
  • Run:
pacsea

Prefer a dry run first? Add --dry-run.

Features

  • Security Scan for AUR Packages: Comprehensive security scanning workflow with multiple tools (ClamAV, Trivy, Semgrep, ShellCheck, VirusTotal, custom patterns, aur-sleuth) and detailed scan summaries
  • Fuzzy Search: Toggle flexible fuzzy search mode (CTRL+F) to find packages even without exact names
  • Unified search: Fast results across official repos and the AUR.
  • Package Update Availability: Automatic background checks with detailed version comparison view
  • Keyboard‑first: Minimal keystrokes, Vim‑friendly navigation.
  • Queue & install: Space to add, Enter to confirm installs. Press S in the confirm dialog to scan AUR packages before installing.
  • Always‑visible details: Open package links with a click.
  • PKGBUILD preview: Toggle viewer; copy PKGBUILD with one click.
  • Persistent lists: Recent searches and Install list are saved.
  • Installed‑only mode: Review and remove installed packages safely.
  • Distro-aware updates: Automatic detection and use of appropriate mirror tools for Manjaro, EndeavourOS, CachyOS, Artix, and standard Arch
  • Helpful tools: System update dialog with distro-aware mirror management and Arch News popup.

Security-first approach for AUR Packages

  • Security-first approach for installing AUR Packages.
  • Security Coverage via automatic Scans and Optional Measures (e.g., converting AUR packages to Flatpak (in Planning)), and more

Scan configuration (v0.4.5)

New: Security scans for AUR

Pacsea adds a security‑first workflow for AUR installs. Before building you can run one or more checks — ClamAV (antivirus), Trivy (filesystem), Semgrep (static analysis), ShellCheck for PKGBUILD/.install, VirusTotal hash lookups, custom suspicious pattern scanning, and aur-sleuth (LLM audit). Scans generate a comprehensive summary showing infections, vulnerabilities by severity, Semgrep findings count, and VirusTotal statistics.

VirusTotal API Setup: Configure your VirusTotal API key directly from the Optional Deps modal. Press Enter on the "Security: VirusTotal API" entry to open the API key page, then paste and save your key. The modal blocks main UI interactions to prevent accidental clicks/keys.

Future implementation will include: Enhanced AI Security Scan (optional)

System update dialog

System update dialog (v0.4.1)

TUI Optional Deps

  • Install and verify recommended helper tools directly from a dedicated view with environment-aware defaults.
  • Desktop-aware preferences include GNOME Terminal on GNOME, Klipper on KDE, and support for multiple editors (nvim, vim, helix, emacs/emacsclient, nano).
  • The modal detects your:
    • environment (Wayland/X11, desktop environment, distro)
    • and shows relevant options.
    • Tools include editors, terminals, clipboard utilities (wl-clipboard for Wayland, xclip for X11),
    • mirror updaters (reflector, pacman-mirrors, eos-rankmirrors, cachyos-rate-mirrors),
    • AUR helpers (paru, yay), and
    • security utilities (ClamAV, Trivy, Semgrep, ShellCheck, VirusTotal API setup, aur-sleuth).
  • Quickly see what's installed and press Enter to install missing packages.

TUI Optional Deps (v0.4.5)

Usage

  1. Start typing to search (press CTRL+F to toggle fuzzy search mode).
  2. Move with ↑/↓ or PageUp/PageDown.
  3. Press Space to add to the Install list.
  4. Press Enter to install (or confirm the Install list).
  5. For AUR packages: Press S in the confirm dialog to scan before installing.
  6. Press F1 or ? anytime for a help overlay.
  7. PKGBUILD copy: For the "Copy PKGBUILD" button, install wl-clipboard (Wayland) or xclip (X11). The copied PKGBUILD includes a suffix configured in settings.conf (clipboard_suffix).
  8. Check for available updates using the "Updates available" button at the top of the interface.

Handy shortcuts

  • Help: F1 or ?
  • Fuzzy search: Ctrl+F (toggle mode)
  • Reload config: Ctrl+R
  • Switch panes: Tab , ← / →
  • Change sorting: Shift+Tab
  • Add / Install: Space / Enter
  • Clear search: Shift+Del (in insert mode)
  • Close popup: q
  • Toggle PKGBUILD viewer: Ctrl+X (or click the label)
  • Quit: Ctrl+C

PKGBUILD preview

PKGBUILD preview (v0.4.1)

CLI Commands

Pacsea supports powerful command-line operations, allowing you to manage packages without launching the TUI:

pacsea -s <query>              # Search packages
pacsea -i <package1> <package2>  # Install packages
pacsea -u                       # System update
pacsea -l                       # List installed packages
pacsea -n                       # Show Arch news

For a complete list of all CLI commands and options, see the CLI Commands wiki page or run:

pacsea --help

Note: All CLI commands exit after completion and don't launch the TUI interface. Except if explicitly mentioned.

Configuration

  • Config lives in ~/.config/pacsea/ as three files:
    • settings.conf — app behavior (layout, defaults, visibility)
    • theme.conf — colors and styling
    • keybinds.conf — keyboard shortcuts
  • Press Ctrl+R in the app to reload your theme (theme.conf). Settings and keybinds (settings.conf, keybinds.conf) are read fresh from disk automatically — no reload needed.

For example configuration files, see the config/ directory:

Settings overview (v0.4.1)

Preflight Modal

By default Pacsea shows a Preflight review modal before installs/removals. This allows you to inspect dependencies, files, config conflicts, and optionally run AUR security scans.

The Install list shows all packages queued for installation. You can export your list to a file or import packages from a previously saved list. The blue refresh icon next to each package indicates the loading/update status.

Install list (v0.5.0)

Preflight summary (v0.5.0)

Preflight sandbox (v0.5.0)

To skip this modal, change the following key in ~/.config/pacsea/settings.conf:

skip_preflight = true

Panels hidden

Panels hidden (v0.4.1)

Optional: build from source

sudo pacman -S rustup && rustup default stable
git clone https://github.com/Firstp1ck/Pacsea
cd Pacsea
cargo run

Troubleshooting

  • AUR search errors: Check your network and try again.
  • Installs don’t start: Ensure you have a terminal installed (e.g. alacritty, kitty, xterm) and sudo working in a terminal.

Roadmap

Potential future Features

Community Suggestions: Priority Features

  • Add Flags in result pane for packages that are: not maintained, orphaned and outdated
  • Adjustable Height of the "Results", "Package Info" and "Search" panes
  • Add possibility to switch locations of Top/Center/Bottom panes
  • View AUR package comments

Other Potential Features

  • Show with Hover over button, what the button does
  • Mirror Search and extensive Mirror Selection
  • Add Chaotic AUR setup and add Garuda Repository Support
  • Multi Package Manager Support for: Debian-Based (apt), Fedora-Based (dnf) and Flatpak Support
  • Add custom Repository Support (e.g Make Cachy/Manjaro/EOS Repositories available to other Arch based Systems)
  • Ability to resolve dependency conflicts
  • Add accessability themes for visual impairments
  • Add PKGBUILD Preview shellcheck and namcap
  • Add custom upgrade commands
  • Add possibility to view News for the respectiv Distro: EndeavourOS, Manjaro, Garuda and CachyOS
  • Add possibility to view News based on installed Packages (Including AUR comments)
  • Available Update button. Opens a Preview with old and new version. -> done;
    • grouped by system critical updates like Kernel, systemd and other CORE packages that need restart and other packages (pacman and aur, incl. search/filter)
  • Commandline Flags -u and --update use set "Update System" from the TUI settings.

Credits

  • Inspired by the following yay commandline: yay -Slq | fzf --multi --preview 'yay -Sii {}' --preview-window=down:75% --layout=default | xargs -ro yay -S
  • Built with Ratatui + Crossterm
  • Powered by Arch + AUR

License

MIT — see LICENSE.

Wiki

Check out the Wiki for more information.

Contributing

Contributions are welcome! Please read the CONTRIBUTING