From 93f36fd65cd65ea0b15f1add21cbb0a212d276d8 Mon Sep 17 00:00:00 2001 From: Natasha Moongrave Date: Tue, 7 Apr 2026 12:00:25 +0200 Subject: Restructured rice system to separate system and home-manager configs Each rice now exports {system, home} with: - system.nix: NixOS-level configs (DE, services, packages, stylix) - home.nix: Home-manager configs (program dotfiles) - default.nix: Exports both modules Applied to: nord-blue, original, plasma6 For plasma6: merged plasma.nix and stylix.nix into system.nix --- home/rices/nord-blue/default.nix | 15 ++----- home/rices/nord-blue/home.nix | 10 +++++ home/rices/original/default.nix | 16 ++----- home/rices/original/home.nix | 14 ++++++ home/rices/plasma6/default.nix | 8 ++-- home/rices/plasma6/home.nix | 4 ++ home/rices/plasma6/plasma.nix | 31 -------------- home/rices/plasma6/stylix.nix | 33 -------------- home/rices/plasma6/system.nix | 93 ++++++++++++++++++++++++++++++++++++++++ 9 files changed, 130 insertions(+), 94 deletions(-) create mode 100644 home/rices/nord-blue/home.nix create mode 100644 home/rices/original/home.nix create mode 100644 home/rices/plasma6/home.nix delete mode 100644 home/rices/plasma6/plasma.nix delete mode 100644 home/rices/plasma6/stylix.nix create mode 100644 home/rices/plasma6/system.nix (limited to 'home') diff --git a/home/rices/nord-blue/default.nix b/home/rices/nord-blue/default.nix index 1eb5514..6b7865d 100644 --- a/home/rices/nord-blue/default.nix +++ b/home/rices/nord-blue/default.nix @@ -1,13 +1,4 @@ -{...}: { - imports = [ - ./alacritty.nix - ./i3.nix - ./nvim.nix - ./helix.nix - ./picom.nix - ./fastfetch.nix - ]; - - # Rice is purely home-manager level - # Desktop environment (X server, i3wm) is set in system/desktop.nix +{ + system = import ./system.nix; + home = import ./home.nix; } diff --git a/home/rices/nord-blue/home.nix b/home/rices/nord-blue/home.nix new file mode 100644 index 0000000..61d2af4 --- /dev/null +++ b/home/rices/nord-blue/home.nix @@ -0,0 +1,10 @@ +{...}: { + imports = [ + ./alacritty.nix + ./i3.nix + ./nvim.nix + ./helix.nix + ./picom.nix + ./fastfetch.nix + ]; +} diff --git a/home/rices/original/default.nix b/home/rices/original/default.nix index cb2b4ca..6b7865d 100644 --- a/home/rices/original/default.nix +++ b/home/rices/original/default.nix @@ -1,14 +1,4 @@ -{...}: { - imports = [ - ./dunst.nix - ./i3.nix - ./kitty.nix - ./neovim.nix - ./nnn.nix - ./picom.nix - ./polybar.nix - ./rofi.nix - ./scripts.nix - ./xdg.nix - ]; +{ + system = import ./system.nix; + home = import ./home.nix; } diff --git a/home/rices/original/home.nix b/home/rices/original/home.nix new file mode 100644 index 0000000..cb2b4ca --- /dev/null +++ b/home/rices/original/home.nix @@ -0,0 +1,14 @@ +{...}: { + imports = [ + ./dunst.nix + ./i3.nix + ./kitty.nix + ./neovim.nix + ./nnn.nix + ./picom.nix + ./polybar.nix + ./rofi.nix + ./scripts.nix + ./xdg.nix + ]; +} diff --git a/home/rices/plasma6/default.nix b/home/rices/plasma6/default.nix index d363548..6b7865d 100644 --- a/home/rices/plasma6/default.nix +++ b/home/rices/plasma6/default.nix @@ -1,6 +1,4 @@ -{...}: { - imports = [ - ./stylix.nix - ./plasma.nix - ]; +{ + system = import ./system.nix; + home = import ./home.nix; } diff --git a/home/rices/plasma6/home.nix b/home/rices/plasma6/home.nix new file mode 100644 index 0000000..0dd85ad --- /dev/null +++ b/home/rices/plasma6/home.nix @@ -0,0 +1,4 @@ +{...}: { + # Plasma-specific HM configs can go here + # For now, minimal/empty +} diff --git a/home/rices/plasma6/plasma.nix b/home/rices/plasma6/plasma.nix deleted file mode 100644 index 44270a8..0000000 --- a/home/rices/plasma6/plasma.nix +++ /dev/null @@ -1,31 +0,0 @@ -{pkgs, ...}: { - services.desktopManager.plasma6.enable = true; - - environment.plasma6.excludePackages = with pkgs; [ - kdePackages.elisa # Music player - kdePackages.kdepim-runtime # Akonadi agents - kdePackages.kmahjongg - kdePackages.kmines - kdePackages.konversation # IRC client - kdePackages.kpat # Solitaire - kdePackages.ksudoku - kdePackages.ktorrent - ]; - - environment.systemPackages = with pkgs; [ - # KDE Utilities - kdePackages.kcalc # Calculator - kdePackages.kcharselect # Character map - kdePackages.kclock # Clock app - kdePackages.kcolorchooser # Color picker - kdePackages.ksystemlog # System log viewer - kdiff3 # File/directory comparison tool - - # Hardware/System Utilities (Optional) - kdePackages.isoimagewriter # Write hybrid ISOs to USB - kdePackages.partitionmanager # Disk and partition management - hardinfo2 # System benchmarks and hardware info - wayland-utils # Wayland diagnostic tools - wl-clipboard # Wayland copy/paste support - ]; -} diff --git a/home/rices/plasma6/stylix.nix b/home/rices/plasma6/stylix.nix deleted file mode 100644 index 1c89567..0000000 --- a/home/rices/plasma6/stylix.nix +++ /dev/null @@ -1,33 +0,0 @@ -{pkgs, ...}: let - vars = import ./variables.nix; -in { - stylix = { - enable = true; - base16Scheme = "${pkgs.base16-schemes}/share/themes/espresso.yaml"; - polarity = "dark"; - - image = vars.image; - - fonts = { - serif = { - package = pkgs.dejavu_fonts; - name = "DejaVu Serif"; - }; - - sansSerif = { - package = pkgs.dejavu_fonts; - name = "DejaVu Sans"; - }; - - monospace = { - package = pkgs.dejavu_fonts; - name = "DejaVu Sans Mono"; - }; - - emoji = { - package = pkgs.noto-fonts-color-emoji; - name = "Noto Color Emoji"; - }; - }; - }; -} diff --git a/home/rices/plasma6/system.nix b/home/rices/plasma6/system.nix new file mode 100644 index 0000000..f195684 --- /dev/null +++ b/home/rices/plasma6/system.nix @@ -0,0 +1,93 @@ +{pkgs, ...}: let + vars = import ./variables.nix; +in { + # Enable Plasma 6 desktop (ly display manager is enabled in system/services.nix) + services.desktopManager.plasma6.enable = true; + + # X11 configuration + services.xserver = { + enable = true; + xkb = { + layout = "cz"; + options = "eurosign:e,caps:escape"; + }; + }; + + # Exclude unwanted KDE packages + environment.plasma6.excludePackages = with pkgs.kdePackages; [ + elisa # Music player + kdepim-runtime # Akonadi agents + kmahjongg + kmines + konversation # IRC client + kpat # Solitaire + ksudoku + ktorrent + ]; + + # KDE utilities and system packages + environment.systemPackages = with pkgs; [ + # KDE Utilities + kdePackages.kcalc # Calculator + kdePackages.kcharselect # Character map + kdePackages.kclock # Clock app + kdePackages.kcolorchooser # Color picker + kdePackages.ksystemlog # System log viewer + kdiff3 # File/directory comparison tool + + # Hardware/System Utilities + kdePackages.isoimagewriter # Write hybrid ISOs to USB + kdePackages.partitionmanager # Disk and partition management + hardinfo2 # System benchmarks and hardware info + wayland-utils # Wayland diagnostic tools + wl-clipboard # Wayland copy/paste support + ]; + + # Stylix theming + stylix = { + enable = true; + autoEnable = true; + base16Scheme = "${pkgs.base16-schemes}/share/themes/espresso.yaml"; + image = vars.image; + + fonts = { + monospace = { + package = pkgs.dejavu_fonts; + name = "DejaVu Sans Mono"; + }; + sansSerif = { + package = pkgs.dejavu_fonts; + name = "DejaVu Sans"; + }; + serif = { + package = pkgs.dejavu_fonts; + name = "DejaVu Serif"; + }; + emoji = { + package = pkgs.noto-fonts-color-emoji; + name = "Noto Color Emoji"; + }; + sizes = { + terminal = 11; + 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 From eecfd452027e8c5feab39c05ead74d7ca7d02d26 Mon Sep 17 00:00:00 2001 From: Natasha Moongrave Date: Tue, 7 Apr 2026 12:01:02 +0200 Subject: Removed rice imports from shared configuration files - Removed rice import from home/mun/default.nix - Deleted system/rice-desktop.nix (unused infrastructure) Rice configs are now imported directly in flake.nix instead of through shared configs --- home/mun/default.nix | 1 - system/rice-desktop.nix | 193 ------------------------------------------------ 2 files changed, 194 deletions(-) delete mode 100644 system/rice-desktop.nix (limited to 'home') diff --git a/home/mun/default.nix b/home/mun/default.nix index 36d78f7..d149984 100644 --- a/home/mun/default.nix +++ b/home/mun/default.nix @@ -7,7 +7,6 @@ ./programs/zsh.nix ./programs/ssh.nix ./programs/git.nix - ../rices/${rice} ]; nixowos = { diff --git a/system/rice-desktop.nix b/system/rice-desktop.nix deleted file mode 100644 index 78a63e9..0000000 --- a/system/rice-desktop.nix +++ /dev/null @@ -1,193 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: let - cfg = config.rice; -in { - options.rice = { - desktop = { - environment = lib.mkOption { - type = lib.types.enum ["i3" "plasma" "none"]; - default = "i3"; - description = "Desktop environment to use"; - }; - - wayland.enable = lib.mkOption { - type = lib.types.bool; - default = false; - description = "Enable Wayland support"; - }; - - compositor.enable = lib.mkOption { - type = lib.types.bool; - default = true; - description = "Enable picom compositor (for X11 environments)"; - }; - }; - - stylix = { - overrideColors = lib.mkOption { - type = lib.types.bool; - default = false; - description = "Override system stylix colors with rice-specific colors"; - }; - - base16Scheme = lib.mkOption { - type = lib.types.nullOr lib.types.attrs; - default = null; - description = "Custom Base16 color scheme"; - }; - - wallpaper = lib.mkOption { - type = lib.types.nullOr lib.types.path; - default = null; - description = "Custom wallpaper path or derivation"; - }; - - fonts = lib.mkOption { - type = lib.types.nullOr lib.types.attrs; - default = null; - description = "Custom font configuration"; - }; - }; - }; - - config = lib.mkMerge [ - # Default stylix configuration (can be overridden by rices) - { - stylix = { - enable = true; - autoEnable = true; - - # Default Base16 scheme - Nord Blue inspired - base16Scheme = lib.mkDefault { - base00 = "2D333F"; # background - base01 = "3B4252"; # lighter background - base02 = "434C5E"; # selection background - base03 = "4C566A"; # comments - base04 = "D8DEE9"; # dark foreground - base05 = "C6D0F5"; # foreground - base06 = "E5E9F0"; # light foreground - base07 = "ECEFF4"; # lightest foreground - base08 = "BF616A"; # red - base09 = "D5A18E"; # orange/tan - base0A = "EBCB8B"; # yellow - base0B = "A3BE8C"; # green - base0C = "88C0D0"; # cyan - base0D = "82A3C0"; # blue (accent) - base0E = "B48EAD"; # purple - base0F = "5E81AC"; # dark blue - }; - - # Default wallpaper - image = lib.mkDefault (pkgs.fetchurl { - url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/master/wallpapers/nix-wallpaper-simple-blue.png"; - sha256 = "sha256-utrcjzfeJoFOpUbFY2eIUNCKy5rjLt57xIoUUssJmdI="; - }); - - # Default fonts - fonts = lib.mkDefault { - 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; - }; - }; - - # Default cursor - cursor = lib.mkDefault { - package = pkgs.bibata-cursors; - name = "Bibata-Modern-Classic"; - size = 24; - }; - - # Default opacity - opacity = lib.mkDefault { - terminal = 0.95; - applications = 1.0; - desktop = 1.0; - popups = 0.95; - }; - - # Default polarity - polarity = lib.mkDefault "dark"; - - # Disable nixos-icons to avoid conflict - targets.nixos-icons.enable = false; - }; - } - - # Rice-specific stylix overrides - (lib.mkIf cfg.stylix.overrideColors { - stylix = { - base16Scheme = lib.mkIf (cfg.stylix.base16Scheme != null) (lib.mkForce cfg.stylix.base16Scheme); - image = lib.mkIf (cfg.stylix.wallpaper != null) (lib.mkForce cfg.stylix.wallpaper); - fonts = lib.mkIf (cfg.stylix.fonts != null) (lib.mkForce cfg.stylix.fonts); - }; - }) - - # i3 desktop environment - (lib.mkIf (cfg.desktop.environment == "i3") { - services.xserver = { - enable = true; - windowManager.i3.enable = true; - - # Czech QWERTZ layout - xkb = { - layout = "cz"; - options = "eurosign:e,caps:escape"; - }; - }; - - # Compositor for X11 - services.picom.enable = cfg.desktop.compositor.enable; - }) - - # KDE Plasma desktop environment - (lib.mkIf (cfg.desktop.environment == "plasma") { - # Enable KDE Plasma 6 - services.displayManager.sddm = { - enable = true; - wayland.enable = cfg.desktop.wayland.enable; - }; - - services.desktopManager.plasma6.enable = true; - - # X11 configuration for Plasma (if not using Wayland) - services.xserver = { - enable = true; - xkb = { - layout = "cz"; - options = "eurosign:e,caps:escape"; - }; - }; - - # KDE-specific packages - environment.systemPackages = with pkgs; [ - kdePackages.kate - kdePackages.konsole - kdePackages.dolphin - kdePackages.spectacle - kdePackages.gwenview - ]; - }) - ]; -} -- cgit v1.2.3