summaryrefslogtreecommitdiff
path: root/modules/git/timer-backup.nix
blob: db19a452b6c69d14f4d25b6df514a729950a3db6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
{ config, lib, pkgs, ... }:

{
  systemd.timers."backup-repositories" = {
    wantedBy = [ "timers.target" ];
      timerConfig = {
        OnCalendar = "daily";
        Persistent = true;
        Unit = "backup-repositories.service";
      };
  };

  systemd.services."backup-repositories" = {
    script = ''
      mkdir -p $HOME/backups

      REPOSITORIES=!(backups)
      tar cf $HOME/backups/repositories-$(date +%s).tar $REPOSITORIES

      find $HOME/backups -mtime 5 -delete
    '';

    serviceConfig = {
      Type = "oneshot";
      User = "git";
    };
  };
}