2019-01-26 09:39:02 +00:00
|
|
|
# README
|
|
|
|
|
2022-06-13 09:31:59 +00:00
|
|
|
dotfiles-system is a collection of helper systemd services, systemd timers and
|
|
|
|
shell scripts for common configuration and tasks like
|
2019-01-26 09:39:02 +00:00
|
|
|
|
2022-06-13 09:31:59 +00:00
|
|
|
* checking if systemd services and timers are running
|
|
|
|
* borgmatic backup
|
|
|
|
* restic backup
|
|
|
|
* checking if docker containers are running
|
|
|
|
* batch docker-compose upgrades
|
|
|
|
* docker housekeeping for removing unused docker containers, volumes and images
|
|
|
|
* dynamic dns update
|
|
|
|
* update check for pacman
|
|
|
|
* memory and disk checks
|
|
|
|
|
|
|
|
Provided systemd services mostly support mail notifications if they have failed
|
|
|
|
via systemd_failure_notify.
|
|
|
|
|
|
|
|
See `/usr/share/doc/dotfiles-system` for example configurations which should
|
|
|
|
be copied inside $HOME or /etc depending on the helper script.
|
2022-06-13 00:21:33 +00:00
|
|
|
|
|
|
|
## Installation
|
|
|
|
|
2022-06-13 09:31:59 +00:00
|
|
|
1. Build a `pacman` package for ArchLinux via `makepkg -csi` inside the `dist/` folder (**recommended**).
|
|
|
|
2. Alternatively, use `./sync` from the git clone and pick an action which should be self-explaining.
|
2022-06-13 00:21:33 +00:00
|
|
|
|
|
|
|
## Usage
|
2019-01-26 09:39:02 +00:00
|
|
|
|
2021-12-27 10:24:05 +00:00
|
|
|
Services and scripts don't depend on each other but have hints that they can be
|
|
|
|
combined (out-commented line in service files for `systemd_failure_notify@.service`
|
|
|
|
for example).
|
2019-01-26 09:39:02 +00:00
|
|
|
|
2022-06-13 09:31:59 +00:00
|
|
|
Examples are given inside `usr/share/doc/dotfiles-system`.
|
2022-06-13 00:21:33 +00:00
|
|
|
|
|
|
|
## FAQ
|
2021-12-27 10:24:05 +00:00
|
|
|
|
2022-06-13 00:21:33 +00:00
|
|
|
### User cannot use network-online.target
|
2021-12-27 10:24:05 +00:00
|
|
|
|
|
|
|
By default, no user unit can depend on system events like `network-online.target`.
|
|
|
|
To enable this, you need to link the proper `.target` which you like to use inside
|
|
|
|
the user service before.
|
|
|
|
|
2022-06-13 00:21:33 +00:00
|
|
|
```shell
|
2021-12-27 10:24:05 +00:00
|
|
|
systemctl --user link /usr/lib/systemd/system/network-online.target
|
|
|
|
```
|
|
|
|
|
|
|
|
This would make `network-online.target` available after a _reboot_ to the user
|
|
|
|
who issued the command.
|