A desktop shell update manager for Arch Linux, built with Quickshell/Qt6.
updatearchsystem is a graphical update manager for Arch Linux systems. It provides an interactive terminal-style interface for managing system updates, viewing installed packages, and managing package cache.
qs -p /path/to/updatearchsystem/Or use the Quickshell Tray to select config.
shell.qml — Entry point (ShellRoot, pragmas)
config/
Theme.qml — Design tokens (colors, spacing, fonts)
services/
Scanner.qml (Singleton) — scanPackages, listInstalled (pacman -Qn/Qm), fetchCacheSize (sudo du -sh)
Updater.qml (Singleton) — runUpdate with sudo, pacman -Fy sync as first phase
modules/
app/
App.qml — Main FloatingWindow with screen state machine
components/
HeaderBanner.qml — Terminal-style banner header
PackageSelector.qml — Interactive package list with keyboard nav
.qmlls.ini — Empty file enabling qmlls LSP
The application uses a state machine to manage different screens:
- scanning — Auto-scans on startup for available updates
- menu — Main menu with 4 options
- noUpdates — Shows "up to date" message
- selection — List of packages with Enter to select
- password — Sudo password prompt overlay
- updating — Live output from the update process
- packageList — Installed packages in two-column grid (pacman | AUR)
- cacheSize — Graphical display of /var/cache/pacman/pkg/ size
| Key | Action |
|---|---|
q |
Quit |
Esc |
Go back / close |
↑↓ |
Navigate lists / menu |
←→ |
Switch column in package list grid |
Enter |
Confirm selection |
- Check for Updates — Goes to selection or noUpdates
- List Installed Packages — Runs pacman -Qn + pacman -Qm, shows grid
- Check Cache Size — Runs sudo du -sh /var/cache/pacman/pkg/, graphical display with cleanup buttons
- Quit — Exit
From the cache size screen, you can run cleanup operations:
| Button | Command | Effect |
|---|---|---|
| Remove cached packages | sudo pacman -Sc |
Removes old/unused package cache |
| Remove everything (agg.) | sudo pacman -Scc |
Removes ALL cached packages |
After cleanup, the cache size is re-fetched automatically.
- Arch Linux
- Quickshell/Qt6
- pacman
- yay (for AUR packages)
- sudo access
- Arch Linux only — Hardcoded pacman/yay commands
- Sudo password is handled via
sudo -ncheck + password prompt fallback - No test suite exists
- Uses
import qs.root-relative imports (v0.2+ syntax)
See LICENSE file for details.

