aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNatasha Moongrave <natasha@256phi.eu>2026-04-04 23:44:41 +0200
committerNatasha Moongrave <natasha@256phi.eu>2026-04-04 23:44:41 +0200
commit2c0497d6aaba0e755bc980bb59cd5714b03be564 (patch)
tree5b66e3d7720a37fb2adb61b3a654ee1660003fad
parent29327f37614667444761d1c2a8f71fe54fddec66 (diff)
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
-rw-r--r--home/mun/default.nix2
-rw-r--r--home/rices/cassette-futurism/system.nix62
-rw-r--r--home/rices/nord-blue/system.nix66
-rw-r--r--home/rices/original/system.nix88
-rw-r--r--system/default.nix2
5 files changed, 181 insertions, 39 deletions
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;
+ };
}
diff --git a/system/default.nix b/system/default.nix
index 0ce312c..0893ac0 100644
--- a/system/default.nix
+++ b/system/default.nix
@@ -10,7 +10,7 @@
./programs.nix
./services.nix
./users.nix
- ./rice-desktop.nix
+ # Desktop and stylix are now configured per-rice in home/rices/*/system.nix
];
system.stateVersion = "25.11";