No description
Find a file
Alexander Schäferdiek c6a3f8ed1f
Some checks failed
continuous-integration/drone/push Build is failing
Only copy build directory
2022-07-11 20:46:03 +02:00
_man Add restic-report example and systemd service files 2022-06-30 00:13:32 +02:00
_pkg Add man pages and separate properly between global systemd and user systemd services and timers 2022-06-13 11:31:59 +02:00
etc Apply shellcheck recommendations and add simple pipeline 2022-07-10 20:47:46 +02:00
usr Apply shellcheck recommendations and add simple pipeline 2022-07-10 20:47:46 +02:00
.drone.yml Only copy build directory 2022-07-11 20:46:03 +02:00
README.md Add man pages and separate properly between global systemd and user systemd services and timers 2022-06-13 11:31:59 +02:00
sync Add plain restic example 2022-06-05 01:09:23 +02:00

README

dotfiles-system is a collection of helper systemd services, systemd timers and shell scripts for common configuration and tasks like

  • 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.

Installation

  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.

Usage

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).

Examples are given inside usr/share/doc/dotfiles-system.

FAQ

User cannot use network-online.target

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.

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.