configurations for my servers and desktops
nix nixos flake dots dotfiles

feat: configure offsite onedrive backup

+28
+28
modules/nixos/services/restic.nix
··· 5 5 group = "root"; 6 6 path = "/etc/secrets/restic"; 7 7 }; 8 + age.secrets.rclone-onedrive = { 9 + file = ../../../secrets/rclone-onedrive.age; 10 + owner = "root"; 11 + group = "root"; 12 + path = "/etc/secrets/rclone-onedrive.conf"; 13 + }; 8 14 9 15 services.restic = { 10 16 server = { ··· 33 39 ]; 34 40 extraBackupArgs = ["--skip-if-unchanged" "--no-scan" "--one-file-system" "--exclude-caches" "--tag scheduled"]; 35 41 pruneOpts = ["--keep-hourly 24" "--keep-daily 14" "--keep-weekly 4" "--keep-monthly 6" "--keep-yearly 2"]; 42 + }; 43 + "bluepill-offsite" = { 44 + repository = "rclone:onedrive:/backup/restic/bluepill"; 45 + passwordFile = "/etc/secrets/restic"; 46 + rcloneConfigFile = "/etc/secrets/rclone-onedrive.conf"; 47 + initialize = true; 48 + timerConfig = { 49 + OnCalendar = "daily"; 50 + Persistent = true; 51 + }; 52 + paths = [ 53 + "/etc/secrets" 54 + "/etc/age.key" 55 + "/home" 56 + "/srv" 57 + "/var/lib" 58 + ]; 59 + exclude = [ 60 + "/var/lib/transmission" 61 + ]; 62 + extraBackupArgs = ["--skip-if-unchanged" "--no-scan" "--one-file-system" "--exclude-caches" "--tag scheduled"]; 63 + pruneOpts = ["--keep-hourly 12" "--keep-daily 7" "--keep-weekly 2" "--keep-monthly 3" "--keep-yearly 1"]; 36 64 }; 37 65 }; 38 66 };