# hosts/FredOS-Kayla.nix — Kayla's desktop. Deliberately plain: stock KDE # Plasma 6 on SDDM, no Hyprland/quickshell/zen (all of those are gated to # FredOS-Gaming/FredOS-Macbook and stay off here). Windows refugees get a # taskbar, a start menu and a settings app that look like what they left. { config, pkgs, lib, ... }: { config = lib.mkIf (config.networking.hostName == "FredOS-Kayla") { services.displayManager.sddm = { enable = true; wayland.enable = true; }; services.desktopManager.plasma6.enable = true; # Dark mode: stylix (imported for every host by mkHost, polarity = "dark", # autoEnable = true) drives its `kde` target off the HM user below, which # writes kdeglobals + the Breeze colour scheme. No manual Plasma theming. environment.systemPackages = with pkgs; [ google-chrome spotify vesktop faugus-launcher mangohud gamescope ]; programs.steam = { enable = true; remotePlay.openFirewall = true; }; boot.loader.systemd-boot.configurationLimit = 5; # Remote admin: fred's keys (settings/users.nix) already include the gaming # PC, and fred has NOPASSWD sudo everywhere, so `ssh fred@FredOS-Kayla` + # `update` rebuilds her box without touching it. Keys only, no root. services.openssh = { enable = true; settings = { PermitRootLogin = "no"; PasswordAuthentication = false; }; }; # stylix's qt target only speaks qtct and warns under Plasma; its kde # target already paints Qt apps via kdeglobals. Both HM users on this box. home-manager.sharedModules = [ { stylix.targets.qt.enable = false; # Colours yes, wallpaper no — she picks her own in Plasma's wallpaper # settings and it survives rebuilds. stylix.targets.kde.useWallpaper = false; } ]; home-manager.users.kayla = { ... }: { home.stateVersion = "25.11"; }; }; }