{ lib, ... }:
with lib;
{
  options.nas-apps.tdarr = {
    enable = mkEnableOption "tdarr docker service";

    autoStart = mkOption {
      type = types.bool;
      default = true;
    };

    serverPort = mkOption {
      type = types.str;
      default = "8266";
    };

    webUIPort = mkOption {
      type = types.str;
      default = "8265";
    };

    name = mkOption {
      type = types.str;
      default = "tdarr";
    };

    image = mkOption {
      type = types.str;
      default = "ghcr.io/haveagitgat/tdarr";
    };

    configPath = mkOption {
      type = types.str;
      default = "/media/nas/ssd/nix-app-data/tdarr/config";
    };

    serverPath = mkOption {
      type = types.str;
      default = "/media/nas/ssd/nix-app-data/tdarr/server";
    };

    logPath = mkOption {
      type = types.str;
      default = "/media/nas/ssd/nix-app-data/tdarr/logs";
    };

    transcodePath = mkOption {
      type = types.str;
      default = "/media/nas/ssd/nix-app-data/tdarr/transcode";
    };

    moviesPath = mkOption {
      type = types.str;
      default = "/media/nas/main/movies";
    };

    tvPath = mkOption {
      type = types.str;
      default = "/media/nas/main/tv";
    };

    puid = mkOption {
      type = types.str;
      default = "911";
    };

    pgid = mkOption {
      type = types.str;
      default = "1000";
    };

    timeZone = mkOption {
      type = types.str;
      default = "America/Chicago";
    };
  };
}
