{pkgs, ...}: let vars = import ./variables.nix; in { # Desktop environment - KDE Plasma 6 services.xserver = { enable = true; xkb = { layout = "cz"; options = "eurosign:e,caps:escape"; }; }; services.desktopManager.plasma6.enable = true; # Minimal Plasma installation - exclude non-essential apps environment.plasma6.excludePackages = with pkgs.kdePackages; [ elisa # Music player kate # Text editor (we have nvim) gwenview # Image viewer okular # Document viewer discover # App store plasma-browser-integration print-manager khelpcenter ]; # Stylix configuration for cassette-futurism rice stylix = { enable = true; autoEnable = false; # Manual theming - user will configure KDE manually # Use cassette-futurism base16 color scheme base16Scheme = { base00 = vars.base16.base00; # 0F0F0F - background base01 = vars.base16.base01; # 1A1A1A - lighter background base02 = vars.base16.base02; # 2A2A2A - selection background base03 = vars.base16.base03; # 3A3A3A - comments base04 = vars.base16.base04; # 00FF00 - CRT green base05 = vars.base16.base05; # 00FFFF - cyan foreground base06 = vars.base16.base06; # FF006E - hot pink base07 = vars.base16.base07; # FFFFFF - bright white base08 = vars.base16.base08; # FF006E - hot pink (variables) base09 = vars.base16.base09; # FF8500 - orange (constants) base0A = vars.base16.base0A; # FFD60A - yellow (classes) base0B = vars.base16.base0B; # 00FF00 - green (strings) base0C = vars.base16.base0C; # 00FFFF - cyan (support) base0D = vars.base16.base0D; # 9D4EDD - purple (functions) base0E = vars.base16.base0E; # FF00FF - magenta (keywords) base0F = vars.base16.base0F; # FFAA00 - amber (deprecated) }; # Use local NGE cassette-futurism wallpaper image = ../../../assets/wallpapers/NGE_CF.jpg; fonts = { monospace = { package = pkgs.nerd-fonts.jetbrains-mono; name = "JetBrainsMono Nerd Font"; }; sansSerif = { package = pkgs.noto-fonts; name = "Noto Sans"; }; serif = { package = pkgs.noto-fonts; name = "Noto Serif"; }; emoji = { package = pkgs.noto-fonts-color-emoji; name = "Noto Color Emoji"; }; sizes = { terminal = 10; applications = 11; desktop = 11; }; }; cursor = { package = pkgs.bibata-cursors; name = "Bibata-Modern-Classic"; size = 24; }; opacity = { terminal = 0.95; applications = 1.0; desktop = 1.0; popups = 0.95; }; polarity = "dark"; # Explicitly enable only console theming targets = { console.enable = true; nixos-icons.enable = false; # Note: KDE/Plasma targets don't exist in Stylix - manual theming only }; }; }