{ lib, config, ... }:
with lib;
{
  options.machine.xray-3x-ui = {
    enable = mkEnableOption "3x-ui Xray panel";

    port = mkOption {
      type = types.port;
      default = 2053;
      description = "Port for the web interface.";
    };

    domain = mkOption {
      type = types.nullOr types.str;
      default = null;
      description = "domain for the web interface.";
    };

    subscriptions = {
      domain = mkOption {
        type = types.nullOr types.str;
        default = null;
        description = "domain for the web interface.";
      };
    };

    dataDir = mkOption {
      type = types.path;
      default = "/var/lib/3x-ui";
      description = "Directory to store 3x-ui data.";
    };
  };
}
