From 53258ed6e81b6aa696789df4587628693f033e4b Mon Sep 17 00:00:00 2001 From: mat ess Date: Sat, 12 Feb 2022 02:20:19 -0500 Subject: [PATCH] Reorg colors code --- home/kitty.nix | 63 ++---------------- overlays/colors.nix | 113 +------------------------------ overlays/colors/solarized.nix | 118 +++++++++++++++++++++++++++++++++ overlays/colors/tokyonight.nix | 5 ++ 4 files changed, 129 insertions(+), 170 deletions(-) create mode 100644 overlays/colors/solarized.nix create mode 100644 overlays/colors/tokyonight.nix diff --git a/home/kitty.nix b/home/kitty.nix index 4d934f4..d90ca8c 100644 --- a/home/kitty.nix +++ b/home/kitty.nix @@ -2,57 +2,6 @@ # Let-In --------------------------------------------------------------------------------------- {{{ let inherit (lib) mkIf; - backgroundDependantColors = colors: with colors; { - background = "#${base}"; - foreground = "#${main}"; - - # Cursor - cursor = "#${blue}"; - cursor_text_color = "#${base}"; - - # Selection - selection_background = "#${muted}"; - selection_foreground = "#${base}"; - - # Tab bar - tab_bar_background = "#${basehl}"; - inactive_tab_background = "#${strong}"; - }; - commonColors = colors: with colors; { - # ref for tokyo-night colors - # https://github.com/davidmathers/tokyo-night-kitty-theme/blob/trunk/tokyo-night-kitty.conf - - # black - color0 = "#${darkBasehl}"; - color8 = "#${darkBase}"; - # red - color1 = "#${red}"; - color9 = "#${orange}"; - # green - color2 = "#${green}"; - color10 = "#${darkestTone}"; - # yellow - color3 = "#${yellow}"; - color11 = "#${darkTone}"; - # blue - color4 = "#${blue}"; - color12 = "#${lightTone}"; - # magenta - color5 = "#${magenta}"; - color13 = "#${violet}"; - # cyan - color6 = "#${cyan}"; - color14 = "#${lightestTone}"; - # white - color7 = "#${lightBasehl}"; - color15 = "#${lightBase}"; - # url underline color to fit colors - url_color = "#${blue}"; - # tab bar - active_tab_foreground = "#${lightBase}"; - active_tab_background = "#${green}"; - inactive_tab_foreground = "#${lightBase}"; - }; in # }}} { @@ -99,16 +48,12 @@ in # Colors config ------------------------------------------------------------------------------ {{{ programs.kitty.extras.colors = let - theme = pkgs.lib.colors.tokyo-night; in + theme = pkgs.lib.colors.solarized; in { enable = true; - # Colors that aren't dependent on background - common = - # tokyo night doesn't really have a specific violet - commonColors (theme.colors // { violet = theme.colors.magenta; }); - # Background dependent colors - dark = backgroundDependantColors theme.dark; - light = backgroundDependantColors theme.light; + common = theme.common; + dark = theme.dark; + light = theme.light; }; programs.fish.functions.set-term-colors = { diff --git a/overlays/colors.nix b/overlays/colors.nix index dc05f52..31ba7b5 100644 --- a/overlays/colors.nix +++ b/overlays/colors.nix @@ -1,119 +1,10 @@ # Used in Kitty terminal config: `./kitty-configs.nix` -# Colors from: https://ethanschoonover.com/solarized - -# SOLARIZED HEX 16/8 TERMCOL XTERM/HEX L*A*B RGB HSB -# --------- ------- ---- ------- ----------- ---------- ----------- ----------- -# base03 #002b36 8/4 brblack 234 #1c1c1c 15 -12 -12 0 43 54 193 100 21 -# base02 #073642 0/4 black 235 #262626 20 -12 -12 7 54 66 192 90 26 -# base01 #586e75 10/7 brgreen 240 #585858 45 -07 -07 88 110 117 194 25 46 -# base00 #657b83 11/7 bryellow 241 #626262 50 -07 -07 101 123 131 195 23 51 -# base0 #839496 12/6 brblue 244 #808080 60 -06 -03 131 148 150 186 13 59 -# base1 #93a1a1 14/4 brcyan 245 #8a8a8a 65 -05 -02 147 161 161 180 9 63 -# base2 #eee8d5 7/7 white 254 #e4e4e4 92 -00 10 238 232 213 44 11 93 -# base3 #fdf6e3 15/7 brwhite 230 #ffffd7 97 00 10 253 246 227 44 10 99 -# yellow #b58900 3/3 yellow 136 #af8700 60 10 65 181 137 0 45 100 71 -# orange #cb4b16 9/3 brred 166 #d75f00 50 50 55 203 75 22 18 89 80 -# red #dc322f 1/1 red 160 #d70000 50 65 45 220 50 47 1 79 86 -# magenta #d33682 5/5 magenta 125 #af005f 50 65 -05 211 54 130 331 74 83 -# violet #6c71c4 13/5 brmagenta 61 #5f5faf 50 15 -45 108 113 196 237 45 77 -# blue #268bd2 4/4 blue 33 #0087ff 55 -10 -45 38 139 210 205 82 82 -# cyan #2aa198 6/6 cyan 37 #00afaf 60 -35 -05 42 161 152 175 74 63 -# green #859900 2/2 green 64 #5f8700 60 -20 65 133 153 0 68 100 60 - final: prev: { lib = prev.lib // { colors = { - solarized = rec { - colors = { - darkBase = "002b36"; # base03 - darkBasehl = "073642"; # base02 - darkestTone = "586e75"; # base01 - darkTone = "657b83"; # base00 - lightTone = "839496"; # base0 - lightestTone = "93a1a1"; # base1 - lightBasehl = "eee8d5"; # base2 - lightBase = "fdf6e3"; # base3 - yellow = "b58900"; - orange = "cb4b16"; - red = "dc322f"; - magenta = "d33682"; - violet = "6c71c4"; - blue = "268bd2"; - cyan = "2aa198"; - green = "859900"; - }; - - light = with colors; { - base = lightBase; - basehl = lightBasehl; - invbase = darkBase; - invbasehl = darkBasehl; - main = darkTone; - faded = lightTone; - muted = lightestTone; - strong = darkestTone; - inherit (colors) yellow orange red megenta violet blue cyan green; - }; - - dark = with colors; { - base = darkBase; - basehl = darkBasehl; - invbase = lightBase; - invbasehl = lightBasehl; - main = lightTone; - faded = darkTone; - muted = darkestTone; - strong = lightestTone; - inherit (colors) yellow orange red megenta violet blue cyan green; - }; - }; - tokyo-night = rec { - colors = { - darkBase = "1a1b26"; # editor background - darkBasehl = "414868"; # terminal black - # darkBasehl = "0f0f14"; # light terminal black - darkestTone = "565f89"; # comments - darkTone = "9aa5ce"; # markdown, html - lightTone = "a9b1d6"; # editor foreground - lightestTone = "c0caf5"; # variables, class names, terminal white - lightBasehl = "9699a3"; # light comments - lightBase = "d5d6db"; # light editor background - yellow = "e0af68"; - orange = "ff9e64"; - red = "f7768e"; - magenta = "bb9af7"; - # violet = "6c71c4"; - blue = "7aa2f7"; - cyan = "7dcfff"; - green = "73daca"; - }; - - light = with colors; { - base = lightBase; - basehl = lightBasehl; - invbase = darkBase; - invbasehl = darkBasehl; - main = darkTone; - faded = lightTone; - muted = lightestTone; - strong = darkestTone; - inherit (colors) yellow orange red megenta blue cyan green; - }; - - dark = with colors; { - base = darkBase; - basehl = darkBasehl; - invbase = lightBase; - invbasehl = lightBasehl; - main = lightTone; - faded = darkTone; - muted = darkestTone; - strong = lightestTone; - inherit (colors) yellow orange red megenta blue cyan green; - }; - }; - + solarized = import ./colors/solarized.nix; + tokyonight = import ./colors/tokyonight.nix; }; }; } diff --git a/overlays/colors/solarized.nix b/overlays/colors/solarized.nix new file mode 100644 index 0000000..a987dc1 --- /dev/null +++ b/overlays/colors/solarized.nix @@ -0,0 +1,118 @@ +# Colors from: https://ethanschoonover.com/solarized + +# SOLARIZED HEX 16/8 TERMCOL XTERM/HEX L*A*B RGB HSB +# --------- ------- ---- ------- ----------- ---------- ----------- ----------- +# base03 #002b36 8/4 brblack 234 #1c1c1c 15 -12 -12 0 43 54 193 100 21 +# base02 #073642 0/4 black 235 #262626 20 -12 -12 7 54 66 192 90 26 +# base01 #586e75 10/7 brgreen 240 #585858 45 -07 -07 88 110 117 194 25 46 +# base00 #657b83 11/7 bryellow 241 #626262 50 -07 -07 101 123 131 195 23 51 +# base0 #839496 12/6 brblue 244 #808080 60 -06 -03 131 148 150 186 13 59 +# base1 #93a1a1 14/4 brcyan 245 #8a8a8a 65 -05 -02 147 161 161 180 9 63 +# base2 #eee8d5 7/7 white 254 #e4e4e4 92 -00 10 238 232 213 44 11 93 +# base3 #fdf6e3 15/7 brwhite 230 #ffffd7 97 00 10 253 246 227 44 10 99 +# yellow #b58900 3/3 yellow 136 #af8700 60 10 65 181 137 0 45 100 71 +# orange #cb4b16 9/3 brred 166 #d75f00 50 50 55 203 75 22 18 89 80 +# red #dc322f 1/1 red 160 #d70000 50 65 45 220 50 47 1 79 86 +# magenta #d33682 5/5 magenta 125 #af005f 50 65 -05 211 54 130 331 74 83 +# violet #6c71c4 13/5 brmagenta 61 #5f5faf 50 15 -45 108 113 196 237 45 77 +# blue #268bd2 4/4 blue 33 #0087ff 55 -10 -45 38 139 210 205 82 82 +# cyan #2aa198 6/6 cyan 37 #00afaf 60 -35 -05 42 161 152 175 74 63 +# green #859900 2/2 green 64 #5f8700 60 -20 65 133 153 0 68 100 60 + +rec { + colors = { + darkBase = "002b36"; # base03 + darkBasehl = "073642"; # base02 + darkestTone = "586e75"; # base01 + darkTone = "657b83"; # base00 + lightTone = "839496"; # base0 + lightestTone = "93a1a1"; # base1 + lightBasehl = "eee8d5"; # base2 + lightBase = "fdf6e3"; # base3 + yellow = "b58900"; + orange = "cb4b16"; + red = "dc322f"; + magenta = "d33682"; + violet = "6c71c4"; + blue = "268bd2"; + cyan = "2aa198"; + green = "859900"; + }; + + _light = with colors; { + base = lightBase; + basehl = lightBasehl; + invbase = darkBase; + invbasehl = darkBasehl; + main = darkTone; + faded = lightTone; + muted = lightestTone; + strong = darkestTone; + inherit (colors) yellow orange red megenta violet blue cyan green; + }; + + _dark = with colors; { + base = darkBase; + basehl = darkBasehl; + invbase = lightBase; + invbasehl = lightBasehl; + main = lightTone; + faded = darkTone; + muted = darkestTone; + strong = lightestTone; + inherit (colors) yellow orange red megenta violet blue cyan green; + }; + + backgroundDependentColors = with colors; { + background = "#${base}"; + foreground = "#${main}"; + + # Cursor + cursor = "#${blue}"; + cursor_text_color = "#${base}"; + + # Selection + selection_background = "#${muted}"; + selection_foreground = "#${base}"; + + # Tab bar + tab_bar_background = "#${basehl}"; + inactive_tab_background = "#${strong}"; + }; + + dark = backgroundDependentColors _dark; + light = backgroundDependentColors _light; + + common = with colors; { + # black + color0 = "#${darkBasehl}"; + color8 = "#${darkBase}"; + # red + color1 = "#${red}"; + color9 = "#${orange}"; + # green + color2 = "#${green}"; + color10 = "#${darkestTone}"; + # yellow + color3 = "#${yellow}"; + color11 = "#${darkTone}"; + # blue + color4 = "#${blue}"; + color12 = "#${lightTone}"; + # magenta + color5 = "#${magenta}"; + color13 = "#${violet}"; + # cyan + color6 = "#${cyan}"; + color14 = "#${lightestTone}"; + # white + color7 = "#${lightBasehl}"; + color15 = "#${lightBase}"; + # url underline color to fit colors + url_color = "#${blue}"; + # tab bar + active_tab_foreground = "#${lightBase}"; + active_tab_background = "#${green}"; + inactive_tab_foreground = "#${lightBase}"; + }; +} diff --git a/overlays/colors/tokyonight.nix b/overlays/colors/tokyonight.nix new file mode 100644 index 0000000..3e8a6ce --- /dev/null +++ b/overlays/colors/tokyonight.nix @@ -0,0 +1,5 @@ +{ + light = { }; + dark = { }; + common = { }; +}