diff --git a/config/schemes.nix b/config/schemes.nix new file mode 100644 index 0000000..8e8a47e --- /dev/null +++ b/config/schemes.nix @@ -0,0 +1,78 @@ +{ pkgs }: +let + mkScheme = + { + color ? null, + name ? null, + polarity, + image, + iconPackage ? pkgs.papirus-icon-theme.override { inherit color; }, + base16Scheme ? if name != null then "${pkgs.base16-schemes}/share/themes/${name}.yaml" else null, + }: + { + inherit + color + name + polarity + image + iconPackage + base16Scheme + ; + }; +in +{ + schemes = { + who = mkScheme { + name = "catppuccin-frappe"; + polarity = "dark"; + image = ../wallpapers/Nikolay_Kasatkin_Who.jpeg; + iconPackage = pkgs.catppuccin-papirus-folders.override { + flavor = "frappe"; + accent = "peach"; + }; + }; + space = mkScheme { + name = "solarflare"; + color = "carmine"; + polarity = "dark"; + image = ../wallpapers/space.jpg; + }; + jesus = mkScheme { + color = "red"; + name = "equilibrium-light"; + polarity = "light"; + image = ../wallpapers/jesus.png; + }; + ballerinas = mkScheme { + color = "brown"; + name = "mocha"; + polarity = "dark"; + image = ../wallpapers/Waay-Ballerinas.jpeg; + }; + paul = mkScheme { + color = "green"; + name = "valua"; + polarity = "light"; + image = ../wallpapers/paul1.jpg; + base16Scheme = { + base00 = "#1a1f16"; # dark forest floor (was deep green-black) + base01 = "#23291a"; # bark shadow + base02 = "#3c422c"; # damp moss + base03 = "#50573c"; # lichen-streaked rock + base04 = "#767d5e"; # moss + sun mix + base05 = "#a9ae8a"; # dry fern or lichen dust + base06 = "#dfe1d2"; # pale sage + base07 = "#f5f7f0"; # slightly sunlit leaf white + + base08 = "#4c7c4a"; # deep fern green + base09 = "#6b8f3c"; # olive bark + base0A = "#b5b938"; # lichen gold + base0B = "#7CC844"; # success green (kept from original) + base0C = "#4fbf87"; # turquoise vine + base0D = "#2aaf6f"; # jungle leaf + base0E = "#88a337"; # mossy lime + base0F = "#5c8b55"; # swamp olive + }; + }; + }; +} diff --git a/config/stylix.nix b/config/stylix.nix index 79bc2c6..ffe1f0d 100644 --- a/config/stylix.nix +++ b/config/stylix.nix @@ -5,80 +5,9 @@ ... }: let - scheme = schemes.paul; + schemesFile = import ./schemes.nix { inherit pkgs; }; + scheme = schemesFile.schemes.space; cfg = config.my.stylix; - mkScheme = - { - color ? null, - name ? null, - polarity, - image, - iconPackage ? pkgs.papirus-icon-theme.override { inherit color; }, - base16Scheme ? if name != null then "${pkgs.base16-schemes}/share/themes/${name}.yaml" else null, - }: - { - inherit - color - name - polarity - image - iconPackage - base16Scheme - ; - }; - schemes = { - who = mkScheme { - name = "catppuccin-frappe"; - polarity = "dark"; - image = ./wallpapers/Nikolay_Kasatkin_Who.jpeg; - iconPackage = pkgs.catppuccin-papirus-folders.override { - flavor = "frappe"; - accent = "peach"; - }; - }; - space = mkScheme { - name = "solarflare"; - color = "carmine"; - polarity = "dark"; - image = ./wallpapers/space.jpg; - }; - jesus = mkScheme { - color = "red"; - name = "equilibrium-light"; - polarity = "light"; - image = ./wallpapers/jesus.png; - }; - ballerinas = mkScheme { - color = "brown"; - name = "mocha"; - polarity = "dark"; - image = ./wallpapers/Waay-Ballerinas.jpeg; - }; - paul = mkScheme { - color = "green"; - name = "valua"; - polarity = "light"; - image = ./wallpapers/paul1.jpg; - base16Scheme = { - base00 = "#18262F"; - base01 = "#222E38"; - base02 = "#586875"; - base03 = "#667581"; - base04 = "#85939E"; - base05 = "#A6AFB8"; - base06 = "#E8E9ED"; - base07 = "#F5F7FA"; - base08 = "#4c7c4a"; # deep fern green - base09 = "#6b8f3c"; # olive bark - base0A = "#b5b938"; # lichen gold - base0B = "#7CC844"; # success green (kept from original) - base0C = "#4fbf87"; # turquoise vine - base0D = "#2aaf6f"; # jungle leaf - base0E = "#88a337"; # mossy lime - base0F = "#5c8b55"; # swamp olive - }; - }; - }; in { options.my.stylix.enable = lib.mkEnableOption "enable";