{
  lib,
  config,
  ...
}:
let
  cfg = config.machine.code-server;
in
with lib;
{
  options.machine.code-server = {
    enable = mkEnableOption "code-server";
    port = mkOption {
      type = types.port;
      default = 4444;
      description = "Port to listen on.";
    };
    domain = mkOption {
      type = types.nullOr types.str;
      default = null;
      description = "domain for the code-server instance.";
    };
    hashedPassword = mkOption {
      type = types.nullOr types.str;
      default = null;
      description = "Hashed password for code-server";
    };
    user = mkOption {
      type = types.str;
      default = config.services.code-server.user;
      description = "The user to run code-server as";
    };
  };
}
