let # Base system - common for all configurations base = [ ./core/default.nix ./hardware/fwupd.nix ./network/default.nix ./programs ./services/default.nix ./services/docker.nix ./services/xdg-portal-fix.nix ]; # GUI-specific modules (display manager, GPU, pipewire) gui = [ ./core/boot.nix # plymouth boot splash ./hardware/graphics.nix # GPU drivers ./services/greetd.nix # display manager ./services/pipewire.nix # audio ]; # Laptop-specific modules (battery, bluetooth) laptop = [ ./hardware/bluetooth.nix ./services/power.nix ]; in { # TTY: desktop headless (no GUI) tty = base; # Desktop: desktop with GUI desktop = base ++ gui; # Laptop: laptop with GUI + battery + bluetooth laptop = base ++ gui ++ laptop; }