{ lib, ... }: {
options = {
isMinimalConfig = lib.mkOption {
type = lib.types.bool;
default = false;
};
proxyPort = lib.mkOption {
type = lib.types.number;
default = 8889;
description = "代理端口号,诸多网络程序需要用,比如clash和tailscale";
};
isCli = lib.mkOption {
type = lib.types.bool;
default = (builtins.getEnv "DISPLAY")=="";
description = ''
`isCli`和`isGui`的默认值通过环境变量`DISPLAY`来判断是否是CLI或GUI环境。
这个方法有**局限**,比如ssh连接到一台有GUI的电脑上,ssh里是没有设置环境变量`DISPLAY`的。
因此更好的方法是显示地声明sCli和isGui的值。
'';
};
isGui = lib.mkOption {
type = lib.types.bool;
default = (builtins.getEnv "DISPLAY")!="";
};
isNixOnDroid = lib.mkOption {
type = lib.types.bool;
default = (builtins.getEnv "USER")=="nix-on-droid";
description = ''
默认值是通过用户名来判断是否是nix-on-droid。
'';
};
isWSL2 = lib.mkOption {
type = lib.types.bool;
default = (builtins.getEnv "WSL_DISTRO_NAME")!="";
description = ''
默认值是通过环境变量`WSL_DISTRO_NAME`来判断是否是WSL2。
'';
};
};
}