nix-config/modules/timers/backup.nix

38 lines
704 B
Nix

{
inputs,
outputs,
lib,
config,
pkgs,
...
}: let
inherit (lib) mkEnableOption mkIf mkOption types;
cfg = config.horseman.timers.backup;
homeCfg = config.horseman;
in {
options = {
horseman.timers.backup = {
enable = mkEnableOption "Enables the backup service";
};
};
config = mkIf cfg.enable {
systemd.timers."backup" = {
wantedBy = ["timers.target"];
timerConfig = {
OnCalendar = "daily";
Persistent = true;
};
};
systemd.services."backup" = {
script = ''
/home/horseman/nix-config/misc/backup.sh
'';
serviceConfig = {
Type = "oneshot";
User = "root";
};
};
};
}