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 checkupdates when available, otherwise pacman -Qu
  • Checks AUR updates with paru -Qua or yay -Qua when either helper is installed
  • Sends notifications with notify-send, with hyprctl notify as 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 update command

Requirements

  • Arch Linux
  • Go 1.22 or newer to build
  • pacman-contrib recommended for checkupdates
  • Optional: paru or yay for AUR updates
  • Optional: libnotify for notify-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
  • the desktop launcher to ~/.local/share/applications/lazy-update-manager.desktop
  • the user service and timer to ~/.config/systemd/user/

When a user systemd session is available, the timer is enabled immediately so update notifications work after install.

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

Weekly Reminder

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
Description
Arch Linux Update Manager
Readme 147 KiB
Languages
Go 90.7%
JavaScript 5.2%
Makefile 4.1%