Skip to content

GennaroRiccio/updatearchsystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

updatearchsystem

A desktop shell update manager for Arch Linux, built with Quickshell/Qt6.

Overview

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.

Quick Start

qs -p /path/to/updatearchsystem/

Or use the Quickshell Tray to select config.

Architecture

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

Screens

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

Keybindings

Key Action
q Quit
Esc Go back / close
↑↓ Navigate lists / menu
←→ Switch column in package list grid
Enter Confirm selection

Menu Options

  • 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

Cache Cleanup

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.

Screenshots

Main Menu

Screenshot 1

Update Selection

Screenshot 2

Requirements

  • Arch Linux
  • Quickshell/Qt6
  • pacman
  • yay (for AUR packages)
  • sudo access

Caveats

  • Arch Linux only — Hardcoded pacman/yay commands
  • Sudo password is handled via sudo -n check + password prompt fallback
  • No test suite exists
  • Uses import qs. root-relative imports (v0.2+ syntax)

License

See LICENSE file for details.

About

Check Update package for Arch Linux with pacman and yay in quickshell

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages