1
0
Fork 0
forked from lukas/nixos-config
nixos-config/hosts/pinix/localServices/restic.nix
2025-09-14 23:32:16 +02:00

43 lines
929 B
Nix

{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"
];
};
};
}