{config, pkgs, ...}: { services.restic = { backups = { pinixBackup = { user = "root"; paths = [ "/var/lib/prosody" "/var/lib/forgejo/dump" "/var/www" "/var/lib/gotosocial" ]; passwordFile = config.age.secrets.resticPW.path; repository = "/backup"; initialize = true; timerConfig = { OnCalendar = "03:00"; RandomizedDelaySec = "30min"; }; }; }; }; systemd.services."restore-pi" = { script = '' set -e systemctl stop prosody.service rm -rf /var/lib/prosody ${pkgs.restic}/bin/restic restore latest --target / systemctl start prosody.service ''; serviceConfig = { Type = "oneshot"; User = "root"; Environment = [ "RESTIC_PASSWORD_FILE=${config.age.secrets.resticPW.path}" "RESTIC_REPOSITORY=/backup" ]; }; }; }