{ pkgs, config, ... }: let environmentFile = toString ( pkgs.writeText "restic-gcs-env" '' GOOGLE_PROJECT_ID=fcuny-backups-464518 GOOGLE_APPLICATION_CREDENTIALS=${config.age.secrets.restic_gcs_credentials.path} '' ); in { # https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/backup/restic.nix services.restic.backups.git = { passwordFile = config.age.secrets.restic_password.path; environmentFile = environmentFile; repository = "gs:fcuny-backup:/vm-synology"; initialize = true; paths = [ "/var/lib/gitolite" ]; exclude = [ "/var/lib/gitolite/.bash_history" "/var/lib/gitolite/.ssh" "/var/lib/gitolite/.viminfo" ]; extraBackupArgs = [ "--exclude-caches" "--compression=max" ]; timerConfig = { OnCalendar = "daily"; }; pruneOpts = [ "--keep-daily 7" "--keep-weekly 4" "--keep-monthly 3" ]; }; }