feat: add Arch update helper and web UI
This commit is contained in:
89
README.md
Normal file
89
README.md
Normal file
@@ -0,0 +1,89 @@
|
||||
# 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
|
||||
- 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`
|
||||
|
||||
## 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
|
||||
- start update installation in a terminal
|
||||
- enable or disable AUR checks
|
||||
- change the reminder interval
|
||||
- choose the terminal used for installing updates
|
||||
|
||||
## 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
|
||||
```
|
||||
Reference in New Issue
Block a user