blob: 69dcb6eb06bcc38c5025f74975982028be107d33 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
{
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"
];
};
}
|