fix(gui): fix catppuccin palette

This commit is contained in:
514fpv 2024-02-14 14:40:48 +08:00
parent 278bae388b
commit 03af7d5c18
Signed by: koishi
SSH key fingerprint: SHA256:axz0uIzzY+5W19i7QOUuiw5LSqhKfCBKPf3L4xFRxLw
3 changed files with 129 additions and 209 deletions

View file

@ -3,7 +3,7 @@
, config , config
, ... }: with lib; let , ... }: with lib; let
cfg = config.passthrough.catppuccin; cfg = config.passthrough.catppuccin;
palette = import ./palette.nix; palette = (import ./palette.nix).${cfg.palette};
in mkIf cfg.enable { in mkIf cfg.enable {
# cursor theme # cursor theme
home.pointerCursor = { inherit (cfg.cursor) package name; }; home.pointerCursor = { inherit (cfg.cursor) package name; };
@ -14,7 +14,7 @@ in mkIf cfg.enable {
# sway colour palette override # sway colour palette override
wayland.windowManager.sway.config = { wayland.windowManager.sway.config = {
colors = with palette.sway.${cfg.sway}; { colors = with palette; {
focused = { border = lavender; background = base; text = text; indicator = rosewater; childBorder = lavender; }; focused = { border = lavender; background = base; text = text; indicator = rosewater; childBorder = lavender; };
focusedInactive = { border = overlay0; background = base; text = text; indicator = rosewater; childBorder = overlay0; }; focusedInactive = { border = overlay0; background = base; text = text; indicator = rosewater; childBorder = overlay0; };
unfocused = { border = overlay0; background = base; text = text; indicator = rosewater; childBorder = overlay0; }; unfocused = { border = overlay0; background = base; text = text; indicator = rosewater; childBorder = overlay0; };
@ -25,7 +25,7 @@ in mkIf cfg.enable {
bars = mkForce [ { bars = mkForce [ {
colors = let colors = let
p = palette.sway.${cfg.sway}; p = palette;
in { in {
background = p.base; background = p.base;
statusline = p.text; statusline = p.text;
@ -57,7 +57,7 @@ in mkIf cfg.enable {
gaps.bottom = 0; gaps.bottom = 0;
}; };
programs.swaylock.settings = with palette.sway.${cfg.sway}; let programs.swaylock.settings = with palette; let
transparent = "00000000"; transparent = "00000000";
in { in {
color = base; color = base;
@ -91,16 +91,24 @@ in mkIf cfg.enable {
text-wrong-color = maroon; text-wrong-color = maroon;
}; };
programs.i3status.general = with palette.sway.${cfg.sway}; { programs.i3status.general = with palette; {
color_good = lavender; color_good = lavender;
color_degraded = yellow; color_degraded = yellow;
color_bad = red; color_bad = red;
}; };
# foot colour palette override # foot colour palette override
programs.foot.settings.colors = { programs.foot.settings.colors = with palette; let
inherit (palette.foot.${cfg.sway}) foreground background c = substring 1 7;
regular0 regular1 regular2 regular3 regular4 regular5 regular6 regular7 in {
bright0 bright1 bright2 bright3 bright4 bright5 bright6 bright7; foreground = c text; background = c base;
regular0 = c subtext1; regular1 = c red;
regular2 = c green; regular3 = c yellow;
regular4 = c blue; regular5 = c pink;
regular6 = c teal; regular7 = c surface2;
bright0 = c subtext0; bright1 = c red;
bright2 = c green; bright3 = c yellow;
bright4 = c blue; bright5 = c pink;
bright6 = c teal; bright7 = c surface1;
}; };
} }

View file

@ -8,10 +8,10 @@ in {
options.home.catppuccin = { options.home.catppuccin = {
enable = mkEnableOption "catppuccin colour scheme" // { default = gui; }; enable = mkEnableOption "catppuccin colour scheme" // { default = gui; };
sway = mkOption { palette = mkOption {
type = with types; str; type = with types; str;
default = "frappe"; default = "frappe";
description = "colour palette used in sway"; description = "colour palette in use";
}; };
gtk = { gtk = {

View file

@ -1,205 +1,117 @@
{ {
sway = { latte = {
latte = { rosewater = "#dc8a78";
rosewater = "#dc8a78"; flamingo = "#dd7878";
flamingo = "#dd7878"; pink = "#ea76cb";
pink = "#ea76cb"; mauve = "#8839ef";
mauve = "#8839ef"; red = "#d20f39";
red = "#d20f39"; maroon = "#e64553";
maroon = "#e64553"; peach = "#fe640b";
peach = "#fe640b"; yellow = "#df8e1d";
yellow = "#df8e1d"; green = "#40a02b";
green = "#40a02b"; teal = "#179299";
teal = "#179299"; sky = "#04a5e5";
sky = "#04a5e5"; sapphire = "#209fb5";
sapphire = "#209fb5"; blue = "#1e66f5";
blue = "#1e66f5"; lavender = "#7287fd";
lavender = "#7287fd"; text = "#4c4f69";
text = "#4c4f69"; subtext1 = "#5c5f77";
subtext1 = "#5c5f77"; subtext0 = "#6c6f85";
subtext0 = "#6c6f85"; overlay2 = "#7c7f93";
overlay2 = "#7c7f93"; overlay1 = "#8c8fa1";
overlay1 = "#8c8fa1"; overlay0 = "#9ca0b0";
overlay0 = "#9ca0b0"; surface2 = "#acb0be";
surface2 = "#acb0be"; surface1 = "#bcc0cc";
surface1 = "#bcc0cc"; surface0 = "#ccd0da";
surface0 = "#ccd0da"; base = "#eff1f5";
base = "#eff1f5"; mantle = "#e6e9ef";
mantle = "#e6e9ef"; crust = "#dce0e8";
crust = "#dce0e8";
};
frappe = {
rosewater = "#f2d5cf";
flamingo = "#eebebe";
pink = "#f4b8e4";
mauve = "#ca9ee6";
red = "#e78284";
maroon = "#ea999c";
peach = "#ef9f76";
yellow = "#e5c890";
green = "#a6d189";
teal = "#81c8be";
sky = "#99d1db";
sapphire = "#85c1dc";
blue = "#8caaee";
lavender = "#babbf1";
text = "#c6d0f5";
subtext1 = "#b5bfe2";
subtext0 = "#a5adce";
overlay2 = "#949cbb";
overlay1 = "#838ba7";
overlay0 = "#737994";
surface2 = "#626880";
surface1 = "#51576d";
surface0 = "#414559";
base = "#303446";
mantle = "#292c3c";
crust = "#232634";
};
macchiato = {
rosewater = "#f4dbd6";
flamingo = "#f0c6c6";
pink = "#f5bde6";
mauve = "#c6a0f6";
red = "#ed8796";
maroon = "#ee99a0";
peach = "#f5a97f";
yellow = "#eed49f";
green = "#a6da95";
teal = "#8bd5ca";
sky = "#91d7e3";
sapphire = "#7dc4e4";
blue = "#8aadf4";
lavender = "#b7bdf8";
text = "#cad3f5";
subtext1 = "#b8c0e0";
subtext0 = "#a5adcb";
overlay2 = "#939ab7";
overlay1 = "#8087a2";
overlay0 = "#6e738d";
surface2 = "#5b6078";
surface1 = "#494d64";
surface0 = "#363a4f";
base = "#24273a";
mantle = "#1e2030";
crust = "#181926";
};
mocha = {
rosewater = "#f5e0dc";
flamingo = "#f2cdcd";
pink = "#f5c2e7";
mauve = "#cba6f7";
red = "#f38ba8";
maroon = "#eba0ac";
peach = "#fab387";
yellow = "#f9e2af";
green = "#a6e3a1";
teal = "#94e2d5";
sky = "#89dceb";
sapphire = "#74c7ec";
blue = "#89b4fa";
lavender = "#b4befe";
text = "#cdd6f4";
subtext1 = "#bac2de";
subtext0 = "#a6adc8";
overlay2 = "#9399b2";
overlay1 = "#7f849c";
overlay0 = "#6c7086";
surface2 = "#585b70";
surface1 = "#45475a";
surface0 = "#313244";
base = "#1e1e2e";
mantle = "#181825";
crust = "#11111b";
};
}; };
foot = { frappe = {
latte = { rosewater = "#f2d5cf";
foreground = "4c4f69"; # Text flamingo = "#eebebe";
background = "eff1f5"; # Base pink = "#f4b8e4";
regular0 = "5c5f77"; # Subtext 1 mauve = "#ca9ee6";
regular1 = "d20f39"; # red red = "#e78284";
regular2 = "40a02b"; # green maroon = "#ea999c";
regular3 = "df8e1d"; # yellow peach = "#ef9f76";
regular4 = "1e66f5"; # blue yellow = "#e5c890";
regular5 = "ea76cb"; # pink green = "#a6d189";
regular6 = "179299"; # teal teal = "#81c8be";
regular7 = "acb0be"; # Surface 2 sky = "#99d1db";
bright0 = "6c6f85"; # Subtext 0 sapphire = "#85c1dc";
bright1 = "d20f39"; # red blue = "#8caaee";
bright2 = "40a02b"; # green lavender = "#babbf1";
bright3 = "df8e1d"; # yellow text = "#c6d0f5";
bright4 = "1e66f5"; # blue subtext1 = "#b5bfe2";
bright5 = "ea76cb"; # pink subtext0 = "#a5adce";
bright6 = "179299"; # teal overlay2 = "#949cbb";
bright7 = "bcc0cc"; # Surface 1 overlay1 = "#838ba7";
}; overlay0 = "#737994";
surface2 = "#626880";
surface1 = "#51576d";
surface0 = "#414559";
base = "#303446";
mantle = "#292c3c";
crust = "#232634";
};
frappe = { macchiato = {
foreground = "c6d0f5"; # Text rosewater = "#f4dbd6";
background = "303446"; # Base flamingo = "#f0c6c6";
regular0 = "51576d"; # Surface 1 pink = "#f5bde6";
regular1 = "e78284"; # red mauve = "#c6a0f6";
regular2 = "a6d189"; # green red = "#ed8796";
regular3 = "e5c890"; # yellow maroon = "#ee99a0";
regular4 = "8caaee"; # blue peach = "#f5a97f";
regular5 = "f4b8e4"; # pink yellow = "#eed49f";
regular6 = "81c8be"; # teal green = "#a6da95";
regular7 = "b5bfe2"; # Subtext 1 teal = "#8bd5ca";
bright0 = "626880"; # Surface 2 sky = "#91d7e3";
bright1 = "e78284"; # red sapphire = "#7dc4e4";
bright2 = "a6d189"; # green blue = "#8aadf4";
bright3 = "e5c890"; # yellow lavender = "#b7bdf8";
bright4 = "8caaee"; # blue text = "#cad3f5";
bright5 = "f4b8e4"; # pink subtext1 = "#b8c0e0";
bright6 = "81c8be"; # teal subtext0 = "#a5adcb";
bright7 = "a5adce"; # Subtext 0 overlay2 = "#939ab7";
}; overlay1 = "#8087a2";
overlay0 = "#6e738d";
surface2 = "#5b6078";
surface1 = "#494d64";
surface0 = "#363a4f";
base = "#24273a";
mantle = "#1e2030";
crust = "#181926";
};
macchiato = { mocha = {
foreground = "cad3f5"; # Text rosewater = "#f5e0dc";
background = "24273a"; # Base flamingo = "#f2cdcd";
regular0 = "494d64"; # Surface 1 pink = "#f5c2e7";
regular1 = "ed8796"; # red mauve = "#cba6f7";
regular2 = "a6da95"; # green red = "#f38ba8";
regular3 = "eed49f"; # yellow maroon = "#eba0ac";
regular4 = "8aadf4"; # blue peach = "#fab387";
regular5 = "f5bde6"; # pink yellow = "#f9e2af";
regular6 = "8bd5ca"; # teal green = "#a6e3a1";
regular7 = "b8c0e0"; # Subtext 1 teal = "#94e2d5";
bright0 = "5b6078"; # Surface 2 sky = "#89dceb";
bright1 = "ed8796"; # red sapphire = "#74c7ec";
bright2 = "a6da95"; # green blue = "#89b4fa";
bright3 = "eed49f"; # yellow lavender = "#b4befe";
bright4 = "8aadf4"; # blue text = "#cdd6f4";
bright5 = "f5bde6"; # pink subtext1 = "#bac2de";
bright6 = "8bd5ca"; # teal subtext0 = "#a6adc8";
bright7 = "a5adcb"; # Subtext 0 overlay2 = "#9399b2";
}; overlay1 = "#7f849c";
overlay0 = "#6c7086";
mocha = { surface2 = "#585b70";
foreground = "cdd6f4"; # Text surface1 = "#45475a";
background = "1e1e2e"; # Base surface0 = "#313244";
regular0 = "45475a"; # Surface 1 base = "#1e1e2e";
regular1 = "f38ba8"; # red mantle = "#181825";
regular2 = "a6e3a1"; # green crust = "#11111b";
regular3 = "f9e2af"; # yellow
regular4 = "89b4fa"; # blue
regular5 = "f5c2e7"; # pink
regular6 = "94e2d5"; # teal
regular7 = "bac2de"; # Subtext 1
bright0 = "585b70"; # Surface 2
bright1 = "f38ba8"; # red
bright2 = "a6e3a1"; # green
bright3 = "f9e2af"; # yellow
bright4 = "89b4fa"; # blue
bright5 = "f5c2e7"; # pink
bright6 = "94e2d5"; # teal
bright7 = "a6adc8"; # Subtext 0
};
}; };
} }