26 lines
1.2 KiB
Nix
26 lines
1.2 KiB
Nix
{ lib, ... }: {
|
|
options.roles = {
|
|
# Window manager selection
|
|
citrix = { enable = lib.mkEnableOption "Citrix Workspace client"; };
|
|
zoom = { enable = lib.mkEnableOption "Zoom client"; };
|
|
gui = { enable = lib.mkEnableOption "GUI environment"; };
|
|
games = { enable = lib.mkEnableOption "Gaming packages and Steam"; };
|
|
kvm = { enable = lib.mkEnableOption "Virtualization support (libvirtd, waydroid)"; };
|
|
kmscon = { enable = lib.mkEnableOption "Console improvements"; };
|
|
auto-cpufreq = { enable = lib.mkEnableOption "CPU power management"; };
|
|
gnome-calendar = { enable = lib.mkEnableOption "GNOME Calendar integration"; };
|
|
tlp = { enable = lib.mkEnableOption "TLP power management"; };
|
|
wine = { enable = lib.mkEnableOption "Wine for Windows compatibility"; };
|
|
|
|
wm = lib.mkOption {
|
|
type = lib.types.enum ["sway" "gnome" "none"];
|
|
default = "none";
|
|
description = "Window manager to enable";
|
|
};
|
|
|
|
# Special host-specific roles
|
|
primary = { enable = lib.mkEnableOption "Primary workstation designation"; };
|
|
lmstudio = { enable = lib.mkEnableOption "LM Studio AI tools"; };
|
|
ollama = { enable = lib.mkEnableOption "Ollama AI server"; };
|
|
};
|
|
}
|