NixOS-Configs/hosts/roles/default.nix
2026-05-16 22:36:47 -05:00

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"; };
};
}