aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--home/mun/default.nix1
-rw-r--r--system/rice-desktop.nix193
2 files changed, 0 insertions, 194 deletions
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
- ];
- })
- ];
-}