2026-08-10 08:44:50 +01:00
|
|
|
# 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;
|
|
|
|
|
|
2026-08-10 09:39:53 +01:00
|
|
|
# Discover is a package manager for a machine that has one already, and it
|
|
|
|
|
# can't install anything here. Bazaar + Flatpak covers "I want an app".
|
|
|
|
|
environment.plasma6.excludePackages = [ pkgs.kdePackages.discover ];
|
|
|
|
|
services.flatpak.enable = true;
|
|
|
|
|
|
|
|
|
|
# Dark mode: stylix's `kde` target writes kdeglobals for the HM users below.
|
|
|
|
|
# The palette is pinned to Breeze Dark rather than left to derive itself
|
|
|
|
|
# from walls/wallpaper.png — otherwise her whole desktop re-colours every
|
|
|
|
|
# time *my* wallpaper changes. Fixed values, and they're the ones KDE's own
|
|
|
|
|
# apps ship with, so Plasma looks like stock Plasma.
|
|
|
|
|
stylix.base16Scheme = {
|
|
|
|
|
scheme = "Breeze Dark";
|
|
|
|
|
author = "KDE";
|
|
|
|
|
base00 = "232629"; # view background
|
|
|
|
|
base01 = "2a2e32";
|
|
|
|
|
base02 = "31363b"; # window background / raised surface
|
|
|
|
|
base03 = "4d5157"; # borders, disabled
|
|
|
|
|
base04 = "7f8c8d"; # inactive text
|
|
|
|
|
base05 = "eff0f1"; # normal text
|
|
|
|
|
base06 = "fcfcfc";
|
|
|
|
|
base07 = "ffffff";
|
|
|
|
|
base08 = "da4453"; # red
|
|
|
|
|
base09 = "f67400"; # orange
|
|
|
|
|
base0A = "fdbc4b"; # yellow
|
|
|
|
|
base0B = "27ae60"; # green
|
|
|
|
|
base0C = "1abc9c"; # cyan
|
|
|
|
|
base0D = "3daee9"; # blue — Breeze's accent
|
|
|
|
|
base0E = "9b59b6"; # purple
|
|
|
|
|
base0F = "8e44ad"; # base16's "brown" slot; Breeze has no brown
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
# Stylix's chromium target is a *managed policy* (BrowserThemeColor written
|
|
|
|
|
# to /etc/opt/chrome/policies), which is what makes Chrome say "your
|
|
|
|
|
# administrator has set a default theme" and greys out the appearance
|
|
|
|
|
# controls — including "use system title bar and borders". Off, so Chrome
|
|
|
|
|
# is hers to configure.
|
|
|
|
|
stylix.targets.chromium.enable = false;
|
2026-08-10 08:44:50 +01:00
|
|
|
|
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
|
|
|
google-chrome
|
|
|
|
|
spotify
|
|
|
|
|
vesktop
|
|
|
|
|
faugus-launcher
|
2026-08-10 09:39:53 +01:00
|
|
|
bazaar
|
2026-08-10 08:44:50 +01:00
|
|
|
mangohud
|
|
|
|
|
gamescope
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
programs.steam = {
|
|
|
|
|
enable = true;
|
|
|
|
|
remotePlay.openFirewall = true;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
boot.loader.systemd-boot.configurationLimit = 5;
|
|
|
|
|
|
2026-08-10 08:52:28 +01:00
|
|
|
# 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;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
2026-08-10 08:44:50 +01:00
|
|
|
# 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.
|
2026-08-10 08:52:28 +01:00
|
|
|
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;
|
|
|
|
|
} ];
|
2026-08-10 08:44:50 +01:00
|
|
|
|
|
|
|
|
home-manager.users.kayla = { ... }: {
|
|
|
|
|
home.stateVersion = "25.11";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
}
|