2025-03-23 12:36:07 +11:00
|
|
|
{ config, lib, ... }:
|
|
|
|
|
let
|
|
|
|
|
inherit (lib)
|
|
|
|
|
mkOption
|
|
|
|
|
types;
|
|
|
|
|
in {
|
2025-03-23 11:52:43 +11:00
|
|
|
options.me = {
|
2025-03-23 12:36:07 +11:00
|
|
|
environment = mkOption {
|
|
|
|
|
type = types.enum [ "desktop" "laptop" "headless" ];
|
2025-03-23 11:52:43 +11:00
|
|
|
default = "desktop";
|
|
|
|
|
};
|
|
|
|
|
|
2025-03-23 12:47:02 +11:00
|
|
|
hasFingerprint = mkOption {
|
2025-03-23 12:36:07 +11:00
|
|
|
type = types.bool;
|
2025-03-23 11:52:43 +11:00
|
|
|
default = false;
|
|
|
|
|
};
|
|
|
|
|
|
2025-03-23 12:36:07 +11:00
|
|
|
gui = mkOption {
|
|
|
|
|
type = types.bool;
|
2025-03-23 11:52:43 +11:00
|
|
|
default = config.me.environment != "headless";
|
|
|
|
|
};
|
2025-03-23 12:36:07 +11:00
|
|
|
|
|
|
|
|
batteryDevice = mkOption {
|
2025-03-23 12:45:59 +11:00
|
|
|
type = with types; nullOr (uniq str);
|
2025-03-23 12:36:07 +11:00
|
|
|
default = null;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
kbBacklightDevice = mkOption {
|
2025-03-23 12:45:59 +11:00
|
|
|
type = with types; nullOr (uniq str);
|
2025-03-23 12:36:07 +11:00
|
|
|
default = null;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
hasBluetooth = mkOption {
|
|
|
|
|
type = types.bool;
|
|
|
|
|
default = config.me.environment == "laptop";
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
hasWifi = mkOption {
|
|
|
|
|
type = types.bool;
|
|
|
|
|
default = config.me.environment == "laptop";
|
|
|
|
|
};
|
2025-03-23 19:15:35 +11:00
|
|
|
|
|
|
|
|
hidpi = mkOption {
|
|
|
|
|
type = types.bool;
|
|
|
|
|
default = false;
|
|
|
|
|
};
|
2026-05-30 20:37:42 +10:00
|
|
|
|
|
|
|
|
binds = lib.mkOption {
|
|
|
|
|
type = with lib.types; attrsOf str;
|
|
|
|
|
default = {};
|
|
|
|
|
};
|
2026-06-20 18:47:01 +10:00
|
|
|
|
|
|
|
|
localAddrs = lib.mkOption {
|
|
|
|
|
type = with lib.types; listOf str;
|
|
|
|
|
};
|
2025-03-23 11:52:43 +11:00
|
|
|
};
|
|
|
|
|
}
|