{lib, ...}: { services.rclone-sync = let sync_defaults = { serviceConfig = {after = ["auto-secrets.service"];}; timerConfig = { OnStartupSec = "60"; OnCalendar = "4h"; }; extraArgs = [ "--fast-list" ]; }; in { enable = true; user = "storage"; sync_jobs = map (x: lib.mkMerge [x sync_defaults]) [ # My B2 { source = "StorageBox:Backups"; dest = "B2-Chaos-Backups:"; id = "chaos_b2_backups"; } { source = "StorageBox:Photos"; dest = "B2-Chaos-Photos:"; id = "chaos_b2_photos"; } { source = "StorageBox:Music"; dest = "B2-Chaos-Music:"; id = "chaos_b2_music"; } { source = "StorageBox:Personal"; dest = "B2-Chaos-Personal:"; id = "chaos_b2_personal"; } { source = "StorageBox:Public"; dest = "B2-Chaos-Public:"; id = "chaos_b2_public"; } { source = "StorageBox:Media"; dest = "B2-Chaos-Media:"; id = "chaos_b2_media"; } # Pheonix System's B2 { source = "StorageBox:Backups"; dest = "B2-Phoenix-Cryptidz-Storage:Backups"; id = "phoenix_b2_backups"; } { source = "StorageBox:Photos"; dest = "B2-Phoenix-Cryptidz-Storage:Photos"; id = "phoenix_b2_photos"; } { source = "StorageBox:Music"; dest = "B2-Phoenix-Cryptidz-Storage:Music"; id = "phoenix_b2_music"; } { source = "StorageBox:Personal"; dest = "B2-Phoenix-Cryptidz-Storage:Personal"; id = "phoenix_b2_personal"; } { source = "StorageBox:Public"; dest = "B2-Phoenix-Cryptidz-Storage:Public"; id = "phoenix_b2_public"; } { source = "StorageBox:Media"; dest = "B2-Phoenix-Cryptidz-Storage:Media"; id = "phoenix_b2_media"; } ]; }; }