{
  pkgs,
  config,
  ...
}: {
  sops.secrets.restic-tsuki = {sopsFile = ../../../secrets/restic/secrets.yaml;};
  sops.secrets.restic-osu = {sopsFile = ../../../secrets/restic/secrets.yaml;};
  environment.systemPackages = [pkgs.restic];
  services.restic = {
    backups = {
      tsuki = {
        user = "root";
        paths = ["/home"];
        exclude = [
          "*.qcow2"
          "*.iso"
          "/home/*/Downloads"
          "/home/*/Games"
          "/home/*/Videos"
          "/home/*/osu!"
          "/home/*/.cache"
          "/home/*/.wine"
          "/home/*/.rustup"
          "/home/*/.cargo"
          "/home/*/.factorio"
          "/home/*/.mplayer"
          "/home/*/.steam"
          "/home/*/.eclipse"
          "/home/*/.bundle"
          "/home/*/.local/share/Trash"
          "/home/*/.local/share/Steam"
          "/home/*/.local/share/.var"
        ];
        pruneOpts = [
          "--keep-daily=7"
          "--keep-weekly=6"
          "--keep-monthly=5"
        ];
        initialize = true;
        repository = "/nas/restic";
        passwordFile = config.sops.secrets.restic-tsuki.path;
        timerConfig = {
          OnCalendar = "daily";
          RandomizedDelaySec = "10m";
          Persistent = true;
        };
      };
      osu = {
        user = "root";
        paths = ["/home/*/osu!"];
        pruneOpts = ["--keep-last=2"];
        initialize = true;
        repository = "/nas/osu-backups";
        passwordFile = config.sops.secrets.restic-osu.path;
        timerConfig = {
          OnCalendar = "weekly";
          RandomizedDelaySec = "30m";
          Persistent = true;
        };
      };
    };
  };
}