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!

Main app view

Main app view (v0.4.1)

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
  • Unified search: Fast results across official repos and the AUR.
  • 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, 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), 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.
  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).

Handy shortcuts

  • Help: F1 or ?
  • Switch panes: Tab , ← / →
  • Change sorting: Shift+Tab
  • Add / Install: Space / Enter
  • Toggle PKGBUILD viewer: Ctrl+X (or click the label)
  • Quit: Ctrl+C

PKGBUILD preview

PKGBUILD preview (v0.4.1)

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 config.

For example configuration files, see the config/ directory:

Settings overview (v0.4.1)

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

  • Extensive Preflight Check (on going)
  • Additional Language Support (on going)
  • User chooseable Terminal via Options or (implemented via settings.conf) (on going)
  • Package Marker in Results which are on lists: Install/Remove/Downgrade (on going)
  • Keybind harmonization and improvements
  • Mirror Search and extensive Mirror Selection
  • Adjustable Width of the Middle Panes
  • Adjustable Height of the Results and Package Info Panes
  • Add Multiple CLI Commands like: pacsea -S FILENAME.txt, pacsea -R FILENAME.txt, pacsea --news, pacsea -Syu and more
  • 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 list and install optional dependencies when installing packages
  • Ability to resolve dependency conflicts
  • Add accessability themes for visual impairments
  • Add PKGBUILD Syntax Highlighting
  • Add custom upgrade commands

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.

About

Fast TUI for searching, inspecting, and queueing pacman/AUR packages.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Languages