4.4 KiB
4.4 KiB
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-sendoderhyprctl 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 --neededoder 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-electronan - Installiert Desktop-Eintrag (für Wofi/Rofi)
- Aktiviert
prefer_electronin 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:
$LAZY_UPDATE_MANAGER_DIR(Env-Variable)- Aktuelles Arbeitsverzeichnis (wenn
electron/main.cjsexistiert) - Relativ zum Binary-Pfad
$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