{ config, factsGenerator, ... }:
let
  tld = config.clan.static-hosts.topLevelDomain;
in
{
  clan.core.facts.services.rbackup = factsGenerator.ssh { name = "rbackup"; };

  # todo : replace all of them with syncoid
  rbackup.plans = {
    git = {
      sshKeyPath = config.clan.core.facts.services.rbackup.secret."ssh.rbackup.id_ed25519".path;
      src = "root@orbi.${tld}:/var/lib/forgejo/";
      dst = "/mirror/git";
    };
    taskwarrior = {
      sshKeyPath = config.clan.core.facts.services.rbackup.secret."ssh.rbackup.id_ed25519".path;
      src = "root@orbi.${tld}:/var/lib/taskserver/";
      dst = "/mirror/taskwarrior";
    };
    vaultwarden = {
      sshKeyPath = config.clan.core.facts.services.rbackup.secret."ssh.rbackup.id_ed25519".path;
      src = "root@orbi.${tld}:/var/lib/bitwarden_rs/";
      dst = "/mirror/vaultwarden";
    };
    radarr = {
      sshKeyPath = config.clan.core.facts.services.rbackup.secret."ssh.rbackup.id_ed25519".path;
      src = "root@orbi.${tld}:/media/arr/radarr";
      dst = "/media/arr/radarr";
      delete = false;
    };
    sonarr = {
      sshKeyPath = config.clan.core.facts.services.rbackup.secret."ssh.rbackup.id_ed25519".path;
      src = "root@orbi.${tld}:/media/arr/sonarr";
      dst = "/media/arr/sonarr";
      delete = false;
    };
    lidarr = {
      sshKeyPath = config.clan.core.facts.services.rbackup.secret."ssh.rbackup.id_ed25519".path;
      src = "root@orbi.${tld}:/media/arr/lidarr";
      dst = "/media/arr/lidarr";
      delete = false;
    };
    torrent-todo = {
      sshKeyPath = config.clan.core.facts.services.rbackup.secret."ssh.rbackup.id_ed25519".path;
      src = "root@orbi.${tld}:/media/torrent/downloads/todo";
      dst = "/media/torrent-todo";
      delete = false;
    };
  };

}