nixos-configuration/graystripe/btrbk.nix

37 lines
765 B
Nix
Raw Normal View History

2023-08-12 19:22:51 +00:00
{ pkgs, ... }:
let
volumeConfig = (subvolumes: {
snapshot_dir = "@snapshots";
subvolume = builtins.foldl'
(acc: subvol: acc // {
${subvol} = { };
})
{ }
subvolumes;
});
in
{
2023-12-13 20:13:07 +00:00
services.btrbk = {
2023-08-12 19:22:51 +00:00
sshAccess = [
{
key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHTqU3EvTgY5/e9m6YyQWypQPK58t9iPmPnPYAvnODGB asonix@lionheart";
roles = [ "source" "info" "send" ];
}
];
instances.btrbk = {
onCalendar = "hourly";
settings = {
snapshot_preserve_min = "2d";
snapshot_preserve = "7d 5w";
transaction_log = "/var/log/btrbk.log";
volume."/btrfs/nvme" = volumeConfig [
"@"
"@home"
"@root"
];
};
};
};
}