Files
nixos-config/configs/borg.nix
Alexander Szczepanski db0bc6a35d mini-2024-12-03-20-29-57
2024-12-03 20:32:34 +01:00

45 lines
1020 B
Nix

{config, ...}: {
sops = {
secrets = {
borg-key = {
owner = config.users.users.alex.name;
};
};
};
services = {
borgbackup.jobs.all = rec {
compression = "auto,zstd";
encryption = {
mode = "repokey-blake2";
passCommand = "cat ${config.sops.secrets.borg-key.path}";
};
extraCreateArgs = "--stats --verbose --checkpoint-interval=600 --exclude-caches";
extraPruneArgs = [
"--save-space"
"--stats"
];
extraCompactArgs = [
"--cleanup-commits"
];
environment = {
BORG_RSH = "ssh -i /home/alex/.ssh/id_borg_ed25519";
BORG_BASE_DIR = "/persist/borg";
};
readWritePaths = ["/persist/borg"];
paths = ["/home/alex" "/persist"];
startAt = "daily";
prune.keep = {
daily = 7;
weekly = 4;
monthly = 6;
};
exclude = [
"/home/alex/mounted"
"/home/alex/.cache"
"/persist/borg"
];
};
};
}