docs: cut the readme down, fold the details

This commit is contained in:
Felitendo committed 2026-09-24 02:00:35 +02:00
1 parent 08ffaad00b
commit 7cd6eafafe
1 file changed
+46 -53
+46 -53
View File
@@ -7,12 +7,12 @@
<h3 align="center">Unattended background updates for CachyOS.</h3>
<p align="center">
Supports pacman, AUR, Flatpak and AppImages.
pacman, AUR, Flatpak and AppImages. In the background, with no password prompt.
</p>
<h5 align="center">
<a href="#usage">How to use</a> |
<a href="#install">Install</a> |
<a href="#how-to-use">How to use</a> |
<a href="https://github.com/LoonixTools/cachy-auto-update/issues">Report a bug</a>
</h5>
@@ -20,11 +20,6 @@
<a href="https://buymeacoffee.com/felitendo"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" height="48"></a>
</p>
Built for the machine you set up for somebody else and would rather not maintain.
Stays out of the way while they are gaming or on battery, never touches the
package database while `pacman` is already running, and only bothers you if something
went wrong.
## Install
```bash
@@ -32,9 +27,7 @@ paru -S cachy-auto-update
sudo cachy-auto-update enable
```
Updates are **off** until you enable them.
## Usage
## How to use
```bash
sudo cachy-auto-update
@@ -44,54 +37,65 @@ sudo cachy-auto-update
<img src="res/screenshots/menu.png" alt="The cachy-auto-update menu in Konsole: automatic updates and notifications on" width="620">
</p>
Everything is configurable from **[6] Settings**.
The interface is also translated to German (more langs coming soon (maybe)).
Press **1** to turn automatic updates on or off. **6** has all the settings.
## What it updates
## When does it update?
| | |
|---|---|
| Repository packages | `pacman -Syu` |
| AUR | `paru` or `yay`, whichever is installed |
| Flatpak | system and per-user installations |
| AppImages | via [Gear Lever](https://github.com/mijorus/gearlever), if installed |
| Battery below 30 % | ⏸️ Waits (on power it runs) |
| A game is running | ⏸️ Waits |
| pacman, yay or paru is running | ⏸️ Waits |
| Shutdown or suspend during an update | 🚫 Blocked until it is done |
| Restart after an update | ❌ Never on its own, you get a notification |
## More
## When it doesn't update
<details>
<summary>What it updates</summary>
A run is postponed (retried an hour later) when:
| | |
|---|---|
| Packages | `pacman -Syu` |
| AUR | `paru` or `yay` |
| Flatpak | system and user installs |
| AppImages | through [Gear Lever](https://github.com/mijorus/gearlever) |
- battery is below 30 % (ignored on mains power),
- a game is running,
- pacman's database is locked or another package manager is running.
</details>
The machine will obviously **never** automatically restart (this is not windows)
<details>
<summary>Safety</summary>
## Safety measures
- A progress bar shows the step and the package.
- On Btrfs with snapper (the CachyOS default) every update gets a snapshot before and after.
- A lock file left by a power cut is removed on the next run.
- Package replacements are handled on their own. File conflicts are never overwritten.
- A signature error refreshes the keyring once and tries again.
- A **progress bar** shows which step is running and which package is being updated.
- **Suspend and shutdown are blocked** via `systemd-inhibit` during updates.
- A `db.lck` left by a crash is removed on the next run.
- On Btrfs with `snapper`/`snap-pac` (the CachyOS default), every transaction
gets a pre/post snapshot.
</details>
## Package conflicts
`AutoResolveConflicts=yes` (default) retries conflicting package replacements
automatically.
File conflicts (`exists in filesystem`) are **not** force-overwritten.
Signature failures trigger one keyring refresh and one retry.
## Logs
<details>
<summary>Logs</summary>
```bash
cachy-auto-update log # last run
cachy-auto-update log -a # rolling log
cachy-auto-update log -a # all runs
journalctl -u cachy-auto-update
```
## Building from source
</details>
<details>
<summary>cachy-update</summary>
[cachy-update](https://github.com/CachyOS/cachy-update) tells you about updates, you install them.
This installs them for you. Both work side by side, and `enable` offers to silence
cachy-update's notification.
</details>
<details>
<summary>Build from source</summary>
```bash
make && sudo make install
@@ -99,19 +103,8 @@ sudo systemd-sysusers && sudo systemd-tmpfiles --create
sudo cachy-auto-update enable
```
`make check` runs shellcheck, syntax checks, and validates the sudoers drop-in.
Optional: `pacman-contrib`, an AUR helper, `flatpak`, Gear Lever, `libnotify`, `python-gobject`.
Optional runtime dependencies (degrades gracefully without them):
`pacman-contrib`, an AUR helper, `flatpak`, Gear Lever, `libnotify`,
`python-gobject`.
## Relationship to cachy-update
[cachy-update](https://github.com/CachyOS/cachy-update) is CachyOS's
interactive updater which checks for updates and notifies, but that needs manual intervention.
This is the unattended counterpart. The two can coexist; `enable` offers
to switch off cachy-update's notification since it becomes obsolete.
## License
</details>
GPL-3.0-or-later.