# 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 ```sh make build ``` ## Usage ```sh ./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 ```sh ./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 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: ```sh npm install ``` Start the desktop app: ```sh make desktop ``` Build desktop packages: ```sh make desktop-dist ``` ## Install ```sh 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 ```sh make enable-user-service ``` The timer runs every two hours, but `lazy-update-manager notify` stores the last reminder timestamp in: ```text ~/.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: ```text ~/.config/lazy-update-manager/config.json ``` ## Check Timer ```sh systemctl --user status lazy-update-manager.timer systemctl --user list-timers lazy-update-manager.timer ```