{ shb, ... }:
{
  restic_root = shb.contracts.test.backup {
    name = "restic_root";
    username = "root";
    providerRoot = [
      "shb"
      "restic"
      "instances"
      "mytest"
    ];
    modules = [
      ../../modules/blocks/restic.nix
      ../../modules/blocks/hardcodedsecret.nix
    ];
    settings =
      { config, ... }:
      {
        enable = true;
        passphrase.result = config.shb.hardcodedsecret.passphrase.result;
        repository = {
          path = "/opt/repos/mytest";
          timerConfig = {
            OnCalendar = "00:00:00";
          };
        };
      };
    extraConfig =
      { username, config, ... }:
      {
        shb.hardcodedsecret.passphrase = {
          request = config.shb.restic.instances."mytest".settings.passphrase.request;
          settings.content = "passphrase";
        };
      };
  };

  restic_nonroot = shb.contracts.test.backup {
    name = "restic_nonroot";
    username = "me";
    providerRoot = [
      "shb"
      "restic"
      "instances"
      "mytest"
    ];
    modules = [
      ../../modules/blocks/restic.nix
      ../../modules/blocks/hardcodedsecret.nix
    ];
    settings =
      { config, ... }:
      {
        enable = true;
        passphrase.result = config.shb.hardcodedsecret.passphrase.result;
        repository = {
          path = "/opt/repos/mytest";
          timerConfig = {
            OnCalendar = "00:00:00";
          };
        };
      };
    extraConfig =
      { username, config, ... }:
      {
        shb.hardcodedsecret.passphrase = {
          request = config.shb.restic.instances."mytest".settings.passphrase.request;
          settings.content = "passphrase";
        };
      };
  };

  borgbackup_root = shb.contracts.test.backup {
    name = "borgbackup_root";
    username = "root";
    providerRoot = [
      "shb"
      "borgbackup"
      "instances"
      "mytest"
    ];
    modules = [
      ../../modules/blocks/borgbackup.nix
      ../../modules/blocks/hardcodedsecret.nix
    ];
    settings =
      { config, ... }:
      {
        enable = true;
        passphrase.result = config.shb.hardcodedsecret.passphrase.result;
        repository = {
          path = "/opt/repos/mytest";
          timerConfig = {
            OnCalendar = "00:00:00";
          };
        };
      };
    extraConfig =
      { username, config, ... }:
      {
        shb.hardcodedsecret.passphrase = {
          request = config.shb.borgbackup.instances."mytest".settings.passphrase.request;
          settings.content = "passphrase";
        };
      };
  };

  borgbackup_nonroot = shb.contracts.test.backup {
    name = "borgbackup_nonroot";
    username = "me";
    providerRoot = [
      "shb"
      "borgbackup"
      "instances"
      "mytest"
    ];
    modules = [
      ../../modules/blocks/borgbackup.nix
      ../../modules/blocks/hardcodedsecret.nix
    ];
    settings =
      { config, ... }:
      {
        enable = true;
        passphrase.result = config.shb.hardcodedsecret.passphrase.result;
        repository = {
          path = "/opt/repos/mytest";
          timerConfig = {
            OnCalendar = "00:00:00";
          };
        };
      };
    extraConfig =
      { username, config, ... }:
      {
        shb.hardcodedsecret.passphrase = {
          request = config.shb.borgbackup.instances."mytest".settings.passphrase.request;
          settings.content = "passphrase";
        };
      };
  };
}
