{ config, inputs, custom, pkgs, time, ... }: { systemd.timers."restic-backups-${custom.username}" = { wantedBy = [ "timers.target" ]; partOf = [ "restic-backups-${custom.username}.service" ]; timerConfig = { OnCalendar = time; }; }; systemd.services."restic-backups-${custom.username}" = { serviceConfig = { User = "root"; Type = "oneshot"; }; environment = { RESTIC_PASSWORD_FILE = "/home/${custom.username}/.nixos/secrets/passwords/restic.key"; RESTIC_REPOSITORY = "rest:http://10.7.89.30:8000"; }; script = '' ${pkgs.restic}/bin/restic backup \ --exclude-file=${inputs.self}/modules/restic/excludes.txt \ --tag home-dir /home/${custom.username} ${pkgs.restic}/bin/restic forget \ --tag home-dir \ --host ${config.networking.hostName} \ --keep-daily 7 \ --keep-weekly 5 \ --keep-monthly 12 \ --keep-yearly 75 ''; }; }