Files
LazyUpdateManager/README.md

2.7 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 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
  • 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

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.

It also installs a desktop launcher to ~/.local/share/applications/lazy-update-manager.desktop.

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