mirror of
https://git.sr.ht/~magic_rb/dotfiles
synced 2024-11-30 20:16:17 +01:00
13d4ec7842
Signed-off-by: magic_rb <magic_rb@redalder.org>
51 lines
1.1 KiB
Nix
51 lines
1.1 KiB
Nix
{pkgs, ...}: {
|
|
boot.zfs.extraPools = [
|
|
"storfa"
|
|
"jimmy"
|
|
];
|
|
|
|
services.restic.backups.cartman = {
|
|
initialize = true;
|
|
timerConfig = {
|
|
OnCalendar = "03:00";
|
|
};
|
|
|
|
paths = ["/run/restic/cartman"];
|
|
backupPrepareCommand = ''
|
|
snapshot="$(date +restic%+4Y_%U_%u)"
|
|
${pkgs.zfs-relmount}/bin/zfs-relmount snapshot storfa/ds1/cartman "''${snapshot}"
|
|
|
|
mkdir -p /run/restic/cartman
|
|
${pkgs.zfs-relmount}/bin/zfs-relmount mount-snapshot storfa/ds1/cartman /run/restic/cartman "''${snapshot}"
|
|
|
|
export RESTIC_PROGRESS_FPS=1
|
|
'';
|
|
backupCleanupCommand = ''
|
|
${pkgs.zfs-relmount}/bin/zfs-relmount umount storfa/ds1/cartman /run/restic/cartman
|
|
rm -r /run/restic/cartman
|
|
'';
|
|
|
|
passwordFile = "";
|
|
repository = "";
|
|
};
|
|
|
|
systemd.timers."restic-backups-cartman" = {
|
|
timerConfig = {
|
|
Persistent = true;
|
|
WakeSystem = true;
|
|
};
|
|
};
|
|
|
|
systemd.services."restic-backups-cartman" = {
|
|
path = with pkgs; [
|
|
util-linux
|
|
zfs
|
|
];
|
|
serviceConfig = {
|
|
Nice = 19;
|
|
IOSchedulingClass = "idle";
|
|
EnvironmentFile = "/var/secrets/restic-b2";
|
|
};
|
|
};
|
|
}
|