github

pacpad: a terminal app manager for Arch Linux

A terminal app manager for Arch Linux. Repo and AUR packages, webapps and TUI launchers, in one TUI. Every change is a plain pacman or yay command, shown to you before it runs.

i install
Name
pacpad
Version
0.1.0 pre-release
Description
A terminal app manager for Arch
Licenses
Apache-2.0
Built With
rust · ratatui · crossterm
Depends On
pacman sudo
Optional Deps
yay or paru AUR packages
chromium-family browser webapps
a terminal emulator TUI apps
Links libalpm
no
watching

Keeping an Arch box tidy means remembering a dozen pacman flags, switching to yay for anything from the AUR, and keeping track of the app launchers you made by hand. pacpad puts that in one place without hiding what's underneath.

you want towithout pacpadin pacpad
see what you installed on purposepacman -Qe→ Explicit filter
find orphaned dependenciespacman -Qdt→ Orphans filter
list what came from the AURpacman -Qm→ Foreign filter
install something from the AURremember it's foreign, use yay -Si picks the helper for you
stop a package being explicitsudo pacman -D --asdepsD
delete a webapp you madehunt for its .desktop file3 Apps, d

› one list, many views

Explicit, dependency, orphan and AUR packages are filters on the same list, with a detail pane beside it. Sort by name, size or install date.

› launchers get a home

omarchy-style webapp and TUI launchers are easy to create and hard to find again. The Apps tab lists every launcher pacpad made and removes it cleanly.

› no terminal handover

sudo's password, pacman's [Y/n] and yay's PKGBUILD review run on a terminal pacpad owns, drawn inside its own screen.

› survives pacman upgrades

pacpad reads pacman's database files directly instead of linking libalpm, so a soname bump can't break it.

what it won't do: replace pacman, keep its own package state, or hide commands from you. Every write is something you could have typed yourself.

Three paths that never share code that touches your system: read what's installed, write through commands you approve, and manage launchers.

read
write
apps


        

Nothing runs until you've seen the literal command. For the packages that can brick a system, a keypress isn't enough.

  • ✓ every install, remove, mark and update opens a modal with the exact argv first
  • ✓ removal defaults to -Rns, and r in the modal toggles plain -R
  • ✓ --dry-run prints every write and runs nothing
  • ✓ the Apps tab only touches .desktop files marked X-PacPad-Managed=true
protectedbecause it's
pacman · sudo · systemd · glibca critical system package
linux*a kernel package
anything in basea member of the base group
Confirm Removal

1 package: glibc

$

sudo pacman -Rns glibc

⚠ this touches a protected package:

  glibc — a critical system package

try it. this one's safe: it's a website.

  1. 1
    get the source
  2. 2
    build it thin LTO, stripped
  3. 3
    put it on PATH
  4. 4
    run it
needsdetection order
AUR helperconfig, then yay, then paru. Without one, repo packages still work.
webapp browserconfig, your default if Chromium-based, then Chrome, Chromium, Brave, Vivaldi
TUI terminalconfig, xdg-terminal-exec, $TERMINAL, then Ghostty, kitty, WezTerm, Alacritty, foot

not packaged yet. An AUR PKGBUILD and release binaries are still to come.

global

1-4 tabswitch tabs

F1keybinding help

q ctrl+cquit

installed

↑↓ jkmove

←→ hlcycle filter

spaceselect

scycle sort

i d rinstall · remove · reinstall

e Dmark explicit · as dependency

uupdate system

f olist files · open URL

/jump to search

search

typefilter by name or description

enterinstall

escclear query

apps

a tadd webapp · add TUI app

enterlaunch

e dedit · remove

this website

1-7jump to a section

j knext · previous panel

g Gtop · bottom

/ ctrl+kcommand palette

ddrive the demo

iopen the shell

ycopy build command

?this list

esclet go of the demo or shell

No. It reads pacman's database files to show you what's there. Every change is a plain pacman, yay or paru command that you see before it runs.

No. pacpad runs as you. Write actions go through sudo pacman or your AUR helper, which asks for your password inside pacpad's screen.

Yes. Run pacpad --dry-run. Every write shows the command it would run in a [dry-run] would run: … banner and runs nothing, and launcher writes in the Apps tab are skipped too.

No. It only lists, edits and removes .desktop files carrying its own X-PacPad-Managed=true marker, named pacpad-<name>.desktop.

No. It's built in that spirit, but any Arch or Arch-based system with pacman works. Webapps need a Chromium-family browser because they use --app mode, which Firefox doesn't have.

~/.config/pacpad/config.toml, and every key is optional: browser, terminal and aur_helper. The package index cache lives in ~/.cache/pacpad/index.bin.

It's a placeholder. The version-by-version list of pending updates is still to come. Pressing u on the Installed tab runs a full system update now.

60 columns by 12 rows. Below that, pacpad asks you to make the window bigger instead of drawing a broken layout.