This commit is contained in:
Motiejus Jakštys 2023-04-05 08:32:37 +03:00
parent 4aa5443e9a
commit a7639b0d31
2 changed files with 38 additions and 36 deletions

View File

@ -237,40 +237,42 @@ in {
extraArgs = ["--verbose"]; extraArgs = ["--verbose"];
}; };
borgbackup.jobs = lib.mapAttrs' (name: value: let borgbackup.jobs =
snapshot = { lib.mapAttrs' (name: value: let
mountpoint = value.mountpoint; snapshot = {
zfs_name = value.zfs_name; mountpoint = value.mountpoint;
}; zfs_name = value.zfs_name;
rwpath = value.mountpoint + "/.snapshot-latest";
in {
name = name;
value =
{
doInit = true;
repo = "zh2769@zh2769.rsync.net:hel1-a.servers.jakst";
encryption = {
mode = "repokey-blake2";
passCommand = "cat /var/src/secrets/borgbackup/password";
};
paths = value.paths;
extraArgs = "--remote-path=borg1";
compression = "auto,lzma";
startAt = value.backup_at;
readWritePaths = [rwpath];
preHook = mountLatest snapshot;
postHook = umountLatest snapshot;
prune.keep = {
within = "1d";
daily = 7;
weekly = 4;
monthly = 3;
};
}
// lib.optionalAttrs (value ? patterns) {
patterns = value.patterns;
}; };
}) backup_paths; rwpath = value.mountpoint + "/.snapshot-latest";
in {
name = name;
value =
{
doInit = true;
repo = "zh2769@zh2769.rsync.net:hel1-a.servers.jakst";
encryption = {
mode = "repokey-blake2";
passCommand = "cat /var/src/secrets/borgbackup/password";
};
paths = value.paths;
extraArgs = "--remote-path=borg1";
compression = "auto,lzma";
startAt = value.backup_at;
readWritePaths = [rwpath];
preHook = mountLatest snapshot;
postHook = umountLatest snapshot;
prune.keep = {
within = "1d";
daily = 7;
weekly = 4;
monthly = 3;
};
}
// lib.optionalAttrs (value ? patterns) {
patterns = value.patterns;
};
})
backup_paths;
headscale = { headscale = {
enable = true; enable = true;

View File

@ -2,9 +2,9 @@
description = "motiejus/config"; description = "motiejus/config";
nixConfig = { nixConfig = {
trusted-substituters = "https://cache.nixos.org/"; trusted-substituters = "https://cache.nixos.org/";
trusted-public-keys = "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="; trusted-public-keys = "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=";
extra-experimental-features = "nix-command flakes"; extra-experimental-features = "nix-command flakes";
}; };
inputs = { inputs = {