3.8 KiB
LazyUpdateManager
LazyUpdateManager is a small update helper for Arch Linux and Hyprland. It checks for available package updates and sends a desktop notification at most once per week while updates are pending.
Features
- Checks official repository updates with
checkupdateswhen available, otherwisepacman -Qu - Checks AUR updates with
paru -Quaoryay -Quawhen either helper is installed - Sends notifications with
notify-send, withhyprctl notifyas fallback - Provides a graphical browser UI for checking and installing updates
- Provides an Electron desktop app wrapper for the GUI
- Supports update search, source filters, ignored packages, system status, and auto-refresh
- Includes a systemd user timer that checks every two hours and reminds weekly
- Provides an interactive
updatecommand
Requirements
- Arch Linux
- Go 1.22 or newer to build
pacman-contribrecommended forcheckupdates- Optional:
paruoryayfor AUR updates - Optional:
libnotifyfornotify-send - Optional: Node.js and npm for the Electron desktop app
Build
make build
Usage
./bin/lazy-update-manager status
./bin/lazy-update-manager check
./bin/lazy-update-manager check -quiet
./bin/lazy-update-manager notify
./bin/lazy-update-manager notify -force
./bin/lazy-update-manager gui
./bin/lazy-update-manager update
Graphical Interface
./bin/lazy-update-manager gui
The GUI opens in your browser and lets you:
- refresh the update list
- search and filter updates by source
- start update installation in a terminal
- select individual packages and install only those when you explicitly want that workflow
- hide noisy packages from the active update count
- see system readiness, Pacman lock state, disk space, AUR helper, terminal, and kernel version
- enable or disable AUR checks
- change the reminder interval
- configure automatic refresh
- choose the terminal used for installing updates
- manage settings in a dedicated dialog with tabs for general behavior, notifications, installation, and ignored packages
- disable reminders, keep install terminals open or let them close, and control confirmation for selective installs
- switch the interface language between German and English
Selective package installs use pacman -S --needed or the configured AUR helper with -S --needed. On Arch, full system updates are still the safer default because partial upgrades can cause dependency mismatches.
Desktop App
Install the Electron dependencies once:
npm install
Start the desktop app:
make desktop
Build desktop packages:
make desktop-dist
Install
make install
This installs the binary to ~/.local/bin/lazy-update-manager and a desktop launcher to ~/.local/share/applications/lazy-update-manager.desktop.
The install target now preserves the previous binary by backing it up when it differs, so installations are safe and reversible.
Check version and update
After installing, check the installed version with:
lazy-update-manager version
To update to the latest version from this repository:
git pull --ff-only
make build
make install
If you prefer to test the local build without installing, run the bundled binary directly:
./bin/lazy-update-manager gui
Enable Weekly Reminder
make enable-user-service
The timer runs every two hours, but lazy-update-manager notify stores the last reminder timestamp in:
~/.local/state/lazy-update-manager/state.json
That means you only get a reminder once per week while updates are available.
Settings are stored in:
~/.config/lazy-update-manager/config.json
Check Timer
systemctl --user status lazy-update-manager.timer
systemctl --user list-timers lazy-update-manager.timer