LazyUpdateManager

A lazy Arch Linux update helper with desktop notifications, web UI, and Electron app.

LazyUpdateManager checks for available package updates and sends a weekly desktop notification while updates are pending. No nagging, no constant reminders just a gentle nudge once a week.


Quick Start

git clone <repo>
cd LazyUpdateManager
./install.sh

That's it. After installation you have:

Was? Befehl
Desktop-App starten lazy-update-manager gui (oder aus Wofi/Rofi starten)
Nur Web-UI lazy-update-manager gui web
Updates prüfen lazy-update-manager check
Status anzeigen lazy-update-manager status
Interaktiv aktualisieren lazy-update-manager update
Version prüfen lazy-update-manager version

Features

  • Automatische Updates prüft offizielle Repos (checkupdates / pacman -Qu) und AUR (paru / yay)
  • Wöchentliche Erinnerung per notify-send oder hyprctl notify, maximal einmal pro Woche
  • Web-Oberfläche browsergestützte UI für Update-Suche, Filter, Pakete ignorieren, Systemstatus
  • Desktop-App Electron-Wrapper für native Fenster-Integration
  • systemd-Timer prüft alle 2 Stunden, erinnert wöchentlich
  • Einstellungen Terminal, Sprache (DE/EN), Auto-Refresh, Ignorierte Pakete, AUR an/aus
  • Selektive Installation einzelne Pakete gezielt aktualisieren

GUI Web & Desktop

Die GUI bietet dir:

Funktion Beschreibung
🔄 Refresh Update-Liste manuell oder automatisch aktualisieren
🔍 Suche & Filter Pakete nach Quelle (Repo/AUR) filtern und durchsuchen
📦 Selektive Installation Nur bestimmte Pakete installieren
🙈 Pakete ausblenden Noise-Reduktion durch Ignorieren
🖥️ Systemstatus Pacman-Lock, Festplatte, Kernel, AUR-Helper, Terminal
⚙️ Einstellungen Timer, Terminal, Sprache, Auto-Refresh, Bestätigungen
# Web-UI im Browser öffnen
lazy-update-manager gui web

# Desktop-App (wenn prefer_electron aktiviert)
lazy-update-manager gui

Selektive Paket-Installs nutzen pacman -S --needed oder den AUR-Helper mit -S --needed. Full system updates sind auf Arch der sicherere Weg.


Installation

Mit install.sh (empfohlen)

./install.sh
  • Prüft Abhängigkeiten (Go, Node.js, npm)
  • Installiert npm-Pakete (Electron)
  • Baut Go-Backend
  • Kopiert Binary nach ~/.local/bin/
  • Legt Launcher lazy-update-manager-electron an
  • Installiert Desktop-Eintrag (für Wofi/Rofi)
  • Aktiviert prefer_electron in der Config
  • Installiert und aktiviert systemd-Timer

Manuell mit make

make build       # Nur Go-Backend bauen
make install     # Binary + Desktop + systemd installieren
make desktop     # Electron-App im Dev-Modus starten
make desktop-dist # Distribution bauen (AppImage, Pacman)

Electron-Distribution bauen

./install.sh electron-dist

Aktualisieren

git pull --ff-only
./install.sh

Anforderungen

Paket Hinweis
Arch Linux
Go ≥ 1.22 Zum Bauen
pacman-contrib Empfohlen für checkupdates
paru / yay Optional für AUR-Updates
libnotify Optional für notify-send
Node.js + npm Optional für Electron-Desktop-App

Desktop-App Details

Der Launcher ~/.local/bin/lazy-update-manager-electron startet Electron mit dem richtigen Arbeitsverzeichnis. Er wird vom Desktop-Eintrag (Wofi/Rofi) und intern von lazy-update-manager gui verwendet.

Suchreihenfolge für das Projektverzeichnis:

  1. $LAZY_UPDATE_MANAGER_DIR (Env-Variable)
  2. Aktuelles Arbeitsverzeichnis (wenn electron/main.cjs existiert)
  3. Relativ zum Binary-Pfad
  4. $HOME/Projekte/LazyUpdateManager

Daten & Konfiguration

Pfad Inhalt
~/.config/lazy-update-manager/config.json Einstellungen (Terminal, Sprache, AUR, Timer, …)
~/.local/state/lazy-update-manager/state.json Letzter Check, letzte Erinnerung, Update-Count
~/.local/share/applications/lazy-update-manager.desktop Desktop-Eintrag für Menüs/Wofi
~/.config/systemd/user/lazy-update-manager.{service,timer} systemd-Timer

Timer-Status prüfen

systemctl --user status lazy-update-manager.timer
systemctl --user list-timers lazy-update-manager.timer

Lizenz

MIT

Description
Arch Linux Update Manager
Readme 200 KiB
Languages
Go 81.3%
Shell 10.5%
JavaScript 4.6%
Makefile 3.6%