71 lines
1.6 KiB
Nix
71 lines
1.6 KiB
Nix
{ lib, namespace, ... }:
|
|
with lib;
|
|
{
|
|
options.${namespace}.services.code-server = {
|
|
enable = mkEnableOption "code-server with enhanced configuration";
|
|
|
|
port = mkOption {
|
|
type = types.port;
|
|
default = 4444;
|
|
description = "Port for code-server";
|
|
};
|
|
|
|
openFirewall = mkOption {
|
|
type = types.bool;
|
|
default = true;
|
|
description = "Whether to open firewall for code-server";
|
|
};
|
|
|
|
user = mkOption {
|
|
type = types.str;
|
|
default = "admin";
|
|
description = "User to run code-server as";
|
|
};
|
|
|
|
group = mkOption {
|
|
type = types.str;
|
|
default = "users";
|
|
description = "Group to run code-server as";
|
|
};
|
|
|
|
host = mkOption {
|
|
type = types.str;
|
|
default = "0.0.0.0";
|
|
description = "Host to bind code-server to";
|
|
};
|
|
|
|
auth = mkOption {
|
|
type = types.enum [
|
|
"none"
|
|
"password"
|
|
];
|
|
default = "none";
|
|
description = "Authentication method for code-server";
|
|
};
|
|
|
|
hashedPassword = mkOption {
|
|
type = types.nullOr types.str;
|
|
default = null;
|
|
description = "Hashed password for code-server authentication";
|
|
};
|
|
|
|
extraEnvironment = mkOption {
|
|
type = types.attrsOf types.str;
|
|
default = { };
|
|
description = "Extra environment variables for code-server";
|
|
};
|
|
|
|
disableTelemetry = mkOption {
|
|
type = types.bool;
|
|
default = true;
|
|
description = "Whether to disable telemetry";
|
|
};
|
|
|
|
disableUpdateCheck = mkOption {
|
|
type = types.bool;
|
|
default = true;
|
|
description = "Whether to disable update checks";
|
|
};
|
|
};
|
|
}
|