blob: 060ef3c7b0737adccf7b942402ac9244ed09e041 (
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
29
30
31
32
33
 | { config, lib, pkgs, ... }:
{
  systemd.timers."backup-repositories" = {
    wantedBy = [ "timers.target" ];
      timerConfig = {
        OnCalendar = "daily";
        Persistent = true;
        Unit = "backup-repositories.service";
      };
  };
  systemd.services."backup-repositories" = {
    script = ''
      cd $HOME
      mkdir -p $HOME/backups
      FILENAME=repositories-$(date +%s).tar
      FILE=$HOME/backups/$FILENAME
      REPOSITORIES=$(ls $HOME | grep -v backups)
      ${pkgs.gnutar}/bin/tar cf $FILE $REPOSITORIES
      ${pkgs.openssh}/bin/scp $FILE compromyse@owo.compromyse.xyz:~/backups/$FILENAME
      find $HOME/backups -mtime 7 -delete
    '';
    serviceConfig = {
      Type = "oneshot";
      User = "git";
    };
  };
}
 |