From b92708b616ffefae3fec27b21072f28d177bd120 Mon Sep 17 00:00:00 2001 From: Natasha Moongrave Date: Sun, 5 Apr 2026 22:27:45 +0200 Subject: Add minimal KDE Plasma 6 configuration for cassette-futurism rice Created complete cassette-futurism rice with KDE Plasma 6 desktop environment. Includes system.nix (Plasma 6 setup, Stylix theming), plasma.nix (minimal config with manual theming documentation), default.nix (module orchestrator), and nvim.nix/variables.nix (editor config and color palette). Fixed critical bug in home/mun/default.nix where rice import was hardcoded to nord-blue instead of using the rice parameter, causing all hosts to use nord-blue home configuration regardless of their assigned rice. Co-Authored-By: Claude Sonnet 4.5 --- home/rices/cassette-futurism/system.nix | 101 ++++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 home/rices/cassette-futurism/system.nix (limited to 'home/rices/cassette-futurism/system.nix') diff --git a/home/rices/cassette-futurism/system.nix b/home/rices/cassette-futurism/system.nix new file mode 100644 index 0000000..eab4647 --- /dev/null +++ b/home/rices/cassette-futurism/system.nix @@ -0,0 +1,101 @@ +{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 + }; + }; +} -- cgit v1.2.3