mirror of
https://github.com/SebastianStork/nixos-config.git
synced 2026-01-21 18:41:34 +01:00
28 lines
923 B
Nix
28 lines
923 B
Nix
{ pkgs, lib, ... }:
|
|
let
|
|
serviceName = lib.last (lib.splitString "/" (builtins.toString ./.)); # Parent directory name
|
|
in
|
|
{
|
|
myConfig.resticBackup.${serviceName} = {
|
|
enable = true;
|
|
healthchecks.enable = true;
|
|
|
|
extraConfig = {
|
|
backupPrepareCommand = "${lib.getExe' pkgs.systemd "systemctl"} stop docker-actualbudget.service";
|
|
backupCleanupCommand = "${lib.getExe' pkgs.systemd "systemctl"} start docker-actualbudget.service docker-tailscale-actualbudget.service";
|
|
paths = [ "/data/${serviceName}" ];
|
|
};
|
|
};
|
|
|
|
environment.systemPackages = [
|
|
(pkgs.writeShellApplication {
|
|
name = "${serviceName}-restore";
|
|
text = ''
|
|
systemctl stop docker-actualbudget.service
|
|
rm -rf /data/${serviceName}
|
|
restic-${serviceName} restore --target / latest
|
|
systemctl start docker-actualbudget.service docker-tailscale-actualbudget.service
|
|
'';
|
|
})
|
|
];
|
|
}
|