{ config, pkgs, ... }: { age.secrets = { restic-local-pw.file = ../secrets/restic-pw.age; restic-nas-smb-config.file = ../secrets/restic-nas-smb-config.age; }; environment.systemPackages = with pkgs; [ rclone restic ]; services.restic.backups = { local = { paths = [ ]; passwordFile = config.age.secrets.restic-local-pw.path; repository = "/data/backups/"; initialize = true; timerConfig.OnCalendar = "daily"; timerConfig.RandomizedDelaySec = "5m"; extraBackupArgs = [ ]; pruneOpts = [ "--keep-daily=7" "--keep-weekly=4" "--keep-monthly=12" ]; }; synology = { paths = [ ]; passwordFile = config.age.secrets.restic-local-pw.path; repository = "rclone:synology:backups/${config.networking.hostName}"; initialize = true; timerConfig.OnCalendar = "daily"; timerConfig.RandomizedDelaySec = "5m"; extraBackupArgs = [ "--compression max" ]; pruneOpts = [ "--keep-daily=7" "--keep-weekly=4" "--keep-monthly=12" "--compression max" ]; rcloneConfigFile = config.age.secrets.restic-nas-smb-config.path; }; }; }