From 2c0497d6aaba0e755bc980bb59cd5714b03be564 Mon Sep 17 00:00:00 2001 From: Natasha Moongrave Date: Sat, 4 Apr 2026 23:44:41 +0200 Subject: Simplify rice architecture - direct DE and stylix config - Each rice's system.nix now directly configures desktop environment and stylix - No complex option system needed - rices just set services directly - nord-blue: i3 + Nord colors - cassette-futurism: KDE Plasma 6 + retro cassette colors - original: i3 + default Nord colors - Removed rice-desktop.nix complexity - Display manager (ly) stays in system/services.nix (user-managed) - To use a rice: mkSystem hostname rice-name in flake.nix --- home/mun/default.nix | 2 +- home/rices/cassette-futurism/system.nix | 62 +++++++++++++++-------- home/rices/nord-blue/system.nix | 66 +++++++++++++++++++++---- home/rices/original/system.nix | 88 ++++++++++++++++++++++++++++++--- 4 files changed, 180 insertions(+), 38 deletions(-) (limited to 'home') diff --git a/home/mun/default.nix b/home/mun/default.nix index 5fa0c48..1e66f4f 100644 --- a/home/mun/default.nix +++ b/home/mun/default.nix @@ -7,7 +7,7 @@ ./programs/zsh.nix ./programs/ssh.nix ./programs/git.nix - ../rices/${rice} + ../rices/nord-blue ]; nixowos = { diff --git a/home/rices/cassette-futurism/system.nix b/home/rices/cassette-futurism/system.nix index a998a2c..706844a 100644 --- a/home/rices/cassette-futurism/system.nix +++ b/home/rices/cassette-futurism/system.nix @@ -1,28 +1,40 @@ {pkgs, ...}: let vars = import ./variables.nix; in { - # Cassette futurism rice uses KDE Plasma 6 - rice.desktop = { - environment = "plasma"; - wayland.enable = true; # KDE Plasma 6 works best with Wayland - compositor.enable = false; # KDE has its own compositor (KWin) + # Desktop environment - KDE Plasma 6 + services.desktopManager.plasma6.enable = true; + + services.xserver = { + enable = true; + xkb = { + layout = "cz"; + options = "eurosign:e,caps:escape"; + }; }; - # Cassette futurism uses custom retro colors - rice.stylix = { - overrideColors = true; + # KDE-specific packages + environment.systemPackages = with pkgs; [ + kdePackages.kate + kdePackages.konsole + kdePackages.dolphin + kdePackages.spectacle + kdePackages.gwenview + ]; + + # Stylix configuration - cassette futurism + stylix = { + enable = true; + autoEnable = true; + base16Scheme = vars.base16; - # Use fallback wallpaper (user can customize by replacing this) - wallpaper = pkgs.fetchurl { + image = pkgs.fetchurl { url = vars.wallpaperFallback; sha256 = "sha256-zVW0KZ26u2bjEMCf/hI/0FftCge+2hHLWbx/ijKSZ6U="; }; - # Retro fonts - VT323 for that authentic terminal look fonts = { monospace = { - # Try to use VT323 if available, otherwise fallback to JetBrains Mono package = pkgs.nerd-fonts.jetbrains-mono; name = "JetBrainsMono Nerd Font"; }; @@ -31,8 +43,8 @@ in { name = "Noto Sans"; }; serif = { - package = pkgs.noto-fonts; - name = "Noto Serif"; + package = pkgs.nerd-fonts.jetbrains-mono; + name = "JetBrainsMono Nerd Font"; }; emoji = { package = pkgs.noto-fonts-color-emoji; @@ -44,11 +56,21 @@ in { desktop = 11; }; }; - }; - # Additional KDE packages for cassette futurism aesthetic - environment.systemPackages = with pkgs; [ - # Retro terminal emulator (optional cool-retro-term for authentic CRT look) - # cool-retro-term - ]; + cursor = { + package = pkgs.bibata-cursors; + name = "Bibata-Modern-Classic"; + size = 24; + }; + + opacity = { + terminal = 0.90; + applications = 0.95; + desktop = 1.0; + popups = 0.90; + }; + + polarity = "dark"; + targets.nixos-icons.enable = false; + }; } diff --git a/home/rices/nord-blue/system.nix b/home/rices/nord-blue/system.nix index e768559..ac7e0ab 100644 --- a/home/rices/nord-blue/system.nix +++ b/home/rices/nord-blue/system.nix @@ -1,14 +1,21 @@ {pkgs, ...}: { - # Nord-blue rice uses i3 window manager - rice.desktop = { - environment = "i3"; - wayland.enable = false; - compositor.enable = true; + # Desktop environment - i3 window manager + services.xserver = { + enable = true; + windowManager.i3.enable = true; + xkb = { + layout = "cz"; + options = "eurosign:e,caps:escape"; + }; }; - # Nord-blue uses custom colors - rice.stylix = { - overrideColors = true; + services.picom.enable = true; + + # Stylix configuration + stylix = { + enable = true; + autoEnable = true; + base16Scheme = { base00 = "2D333F"; # background base01 = "3B4252"; # lighter background @@ -27,9 +34,50 @@ base0E = "B48EAD"; # purple base0F = "5E81AC"; # dark blue }; - wallpaper = pkgs.fetchurl { + + image = pkgs.fetchurl { url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/master/wallpapers/nix-wallpaper-simple-blue.png"; sha256 = "sha256-utrcjzfeJoFOpUbFY2eIUNCKy5rjLt57xIoUUssJmdI="; }; + + 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"; + targets.nixos-icons.enable = false; }; } diff --git a/home/rices/original/system.nix b/home/rices/original/system.nix index 6c06ee9..f49ddd5 100644 --- a/home/rices/original/system.nix +++ b/home/rices/original/system.nix @@ -1,11 +1,83 @@ -{...}: { - # Original rice uses i3 window manager with default stylix settings - rice.desktop = { - environment = "i3"; - wayland.enable = false; - compositor.enable = true; +{pkgs, ...}: { + # Desktop environment - i3 window manager + services.xserver = { + enable = true; + windowManager.i3.enable = true; + xkb = { + layout = "cz"; + options = "eurosign:e,caps:escape"; + }; }; - # Original rice uses system default colors (no override) - rice.stylix.overrideColors = false; + services.picom.enable = true; + + # Stylix configuration - default scheme + stylix = { + enable = true; + autoEnable = true; + + base16Scheme = { + base00 = "2E3440"; + base01 = "3B4252"; + base02 = "434C5E"; + base03 = "4C566A"; + base04 = "D8DEE9"; + base05 = "E5E9F0"; + base06 = "ECEFF4"; + base07 = "8FBCBB"; + base08 = "BF616A"; + base09 = "D08770"; + base0A = "EBCB8B"; + base0B = "A3BE8C"; + base0C = "88C0D0"; + base0D = "81A1C1"; + base0E = "B48EAD"; + base0F = "5E81AC"; + }; + + image = pkgs.fetchurl { + url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/master/wallpapers/nix-wallpaper-simple-blue.png"; + sha256 = "sha256-utrcjzfeJoFOpUbFY2eIUNCKy5rjLt57xIoUUssJmdI="; + }; + + 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"; + targets.nixos-icons.enable = false; + }; } -- cgit v1.2.3