add conversion functions to catppuccin module

This commit is contained in:
KoenDR06 2025-12-24 17:57:24 +01:00
parent 7f5c5b718f
commit 82a11ef821
10 changed files with 663 additions and 391 deletions

View file

@ -0,0 +1,34 @@
{
lib,
config,
...
}: let
inherit (lib) mkIf mkEnableOption catppuccin;
cfg = config.horseman.dots.fuzzel;
username = config.horseman.username;
colors = config.horseman.catppuccin.colors;
accent = config.horseman.catppuccin.accent;
in {
options = {
horseman.dots.fuzzel = {
enable = mkEnableOption "~/.config/fuzzel/fuzzel.ini";
};
};
config = mkIf cfg.enable {
home-manager.users.${username}.xdg.configFile."fuzzel/fuzzel.ini".text = ''
[colors]
background=${catppuccin.toHexNoHash colors.base}dd
text=${catppuccin.toHexNoHash colors.text}ff
prompt=${catppuccin.toHexNoHash colors.subtext1}ff
placeholder=${catppuccin.toHexNoHash colors.overlay1}ff
input=${catppuccin.toHexNoHash colors.text}ff
match=${catppuccin.toHexNoHash colors.${accent}}ff
selection=${catppuccin.toHexNoHash colors.surface2}ff
selection-text=${catppuccin.toHexNoHash colors.text}ff
selection-match=${catppuccin.toHexNoHash colors.${accent}}ff
counter=${catppuccin.toHexNoHash colors.overlay1}ff
border=${catppuccin.toHexNoHash colors.${accent}}ff
'';
};
}

View file

@ -3,7 +3,7 @@
config,
...
}: let
inherit (lib) mkIf mkEnableOption mkOption types;
inherit (lib) mkIf mkEnableOption mkOption types catppuccin;
cfg = config.horseman.dots.kitty;
username = config.horseman.username;
colors = config.horseman.catppuccin.colors;
@ -33,75 +33,75 @@ in {
font_size ${toString cfg.fontSize}
# The basic colors
foreground ${colors.text}
background ${colors.base}
selection_foreground ${colors.base}
selection_background ${colors.rosewater}
foreground ${catppuccin.toHex colors.text}
background ${catppuccin.toHex colors.base}
selection_foreground ${catppuccin.toHex colors.base}
selection_background ${catppuccin.toHex colors.rosewater}
# Cursor colors
cursor ${colors.rosewater}
cursor_text_color ${colors.base}
cursor ${catppuccin.toHex colors.rosewater}
cursor_text_color ${catppuccin.toHex colors.base}
# URL underline color when hovering with mouse
url_color ${colors.rosewater}
url_color ${catppuccin.toHex colors.rosewater}
# Kitty window border colors
active_border_color ${colors.lavender}
inactive_border_color ${colors.overlay0}
bell_border_color ${colors.yellow}
active_border_color ${catppuccin.toHex colors.lavender}
inactive_border_color ${catppuccin.toHex colors.overlay0}
bell_border_color ${catppuccin.toHex colors.yellow}
# OS Window titlebar colors
wayland_titlebar_color system
macos_titlebar_color system
# Tab bar colors
active_tab_foreground ${colors.crust}
active_tab_background ${colors.mauve}
inactive_tab_foreground ${colors.text}
inactive_tab_background ${colors.mantle}
tab_bar_background ${colors.crust}
active_tab_foreground ${catppuccin.toHex colors.crust}
active_tab_background ${catppuccin.toHex colors.mauve}
inactive_tab_foreground ${catppuccin.toHex colors.text}
inactive_tab_background ${catppuccin.toHex colors.mantle}
tab_bar_background ${catppuccin.toHex colors.crust}
# Colors for marks (marked text in the terminal)
mark1_foreground ${colors.base}
mark1_background ${colors.lavender}
mark2_foreground ${colors.base}
mark2_background ${colors.mauve}
mark3_foreground ${colors.base}
mark3_background ${colors.sapphire}
mark1_foreground ${catppuccin.toHex colors.base}
mark1_background ${catppuccin.toHex colors.lavender}
mark2_foreground ${catppuccin.toHex colors.base}
mark2_background ${catppuccin.toHex colors.mauve}
mark3_foreground ${catppuccin.toHex colors.base}
mark3_background ${catppuccin.toHex colors.sapphire}
# The 16 terminal colors
# black
color0 ${colors.surface1}
color8 ${colors.surface2}
color0 ${catppuccin.toHex colors.surface1}
color8 ${catppuccin.toHex colors.surface2}
# red
color1 ${colors.red}
color9 ${colors.red}
color1 ${catppuccin.toHex colors.red}
color9 ${catppuccin.toHex colors.red}
# green
color2 ${colors.green}
color10 ${colors.green}
color2 ${catppuccin.toHex colors.green}
color10 ${catppuccin.toHex colors.green}
# yellow
color3 ${colors.yellow}
color11 ${colors.yellow}
color3 ${catppuccin.toHex colors.yellow}
color11 ${catppuccin.toHex colors.yellow}
# blue
color4 ${colors.blue}
color12 ${colors.blue}
color4 ${catppuccin.toHex colors.blue}
color12 ${catppuccin.toHex colors.blue}
# magenta
color5 ${colors.mauve}
color13 ${colors.mauve}
color5 ${catppuccin.toHex colors.mauve}
color13 ${catppuccin.toHex colors.mauve}
# cyan
color6 ${colors.teal}
color14 ${colors.teal}
color6 ${catppuccin.toHex colors.teal}
color14 ${catppuccin.toHex colors.teal}
# white
color7 ${colors.subtext1}
color15 ${colors.subtext0}
color7 ${catppuccin.toHex colors.subtext1}
color15 ${catppuccin.toHex colors.subtext0}
'';
};
}

View file

@ -3,7 +3,7 @@
config,
...
}: let
inherit (lib) mkIf mkEnableOption;
inherit (lib) mkIf mkEnableOption catppuccin;
cfg = config.horseman.dots.waybar;
username = config.horseman.username;
colors = config.horseman.catppuccin.colors;
@ -26,33 +26,33 @@ in {
}
.modules-left, .modules-center, .modules-right {
border: 2px solid ${colors.${accent}};
border: 2px solid ${catppuccin.toHex colors.${accent}};
border-radius: 10px;
margin: 5px;
background: ${colors.base};
color: ${colors.text};
background: ${catppuccin.toHex colors.base};
color: ${catppuccin.toHex colors.text};
}
#power {
padding-left: 10px;
}
#idle_inhibitor.activated {
color: ${colors.red};
color: ${catppuccin.toHex colors.red};
}
#power * {
color: ${colors.${accent}};
color: ${catppuccin.toHex colors.${accent}};
transition: 0.2s color ease;
font-size: 26px;
}
#power *:hover {
color: ${colors.red};
color: ${catppuccin.toHex colors.red};
}
#workspaces .empty {
color: ${colors.surface0};
color: ${catppuccin.toHex colors.surface0};
}
#workspaces .active {
color: ${colors.red};
color: ${catppuccin.toHex colors.red};
font-size: 18px;
}
#workspaces * {
@ -62,27 +62,27 @@ in {
}
#workspaces > * {
color: ${colors.${accent}};
color: ${catppuccin.toHex colors.${accent}};
}
#clock {
color: ${colors.peach};
color: ${catppuccin.toHex colors.peach};
}
#battery {
color: ${colors.maroon};
color: ${catppuccin.toHex colors.maroon};
}
#cpu {
color: ${colors.red};
color: ${catppuccin.toHex colors.red};
}
#memory {
color: ${colors.mauve};
color: ${catppuccin.toHex colors.mauve};
}
#pulseaudio {
color: ${colors.blue};
color: ${catppuccin.toHex colors.blue};
}
#network {
color: ${colors.teal};
color: ${catppuccin.toHex colors.teal};
}
.horizontal .modules-right {
font-size: 16px;

View file

@ -3,7 +3,7 @@
config,
...
}: let
inherit (lib) mkIf mkEnableOption;
inherit (lib) mkIf mkEnableOption catppuccin;
cfg = config.horseman.dots.wofi;
username = config.horseman.username;
colors = config.horseman.catppuccin.colors;
@ -26,9 +26,9 @@ in {
window {
margin: 0px;
padding: 10px;
border: 3px solid ${colors.${accent}};
border: 3px solid ${catppuccin.toHex colors.${accent}};
border-radius: 10px;
background-color: ${builtins.replaceStrings ["rgb" ")"] ["rgba" ", 0.99)"] colors.base-rgb};
background-color: ${catppuccin.toRGBA colors.base 0.99};
/* animation: slideIn 0.5s ease-in-out both; */
}
@ -48,7 +48,7 @@ in {
margin: 5px;
padding: 10px;
border: none;
background-color: ${colors.base};
background-color: ${catppuccin.toHex colors.base};
/* animation: fadeIn 0.5s ease-in-out both; */
}
@ -68,7 +68,7 @@ in {
margin: 5px;
padding: 10px;
border: none;
background-color: ${colors.base};
background-color: ${catppuccin.toHex colors.base};
}
/* Scroll */
@ -76,63 +76,63 @@ in {
margin: 0px;
padding: 10px;
border: none;
background-color: ${colors.base};
background-color: ${catppuccin.toHex colors.base};
}
/* Input */
#input {
margin: 5px 20px;
padding: 10px;
border: 2px solid ${colors.${accent}};
border: 2px solid ${catppuccin.toHex colors.${accent}};
border-radius: 10px;
color: ${colors.text};
background-color: ${colors.base};
color: ${catppuccin.toHex colors.text};
background-color: ${catppuccin.toHex colors.base};
/* animation: fadeIn 0.5s ease-in-out both; */
}
#input image {
border: none;
color: ${colors.red};
color: ${catppuccin.toHex colors.red};
}
#input * {
outline: 4px solid ${colors.red}!important;
outline: 4px solid ${catppuccin.toHex colors.red}!important;
}
/* Text */
#text {
margin: 5px;
border: none;
color: ${colors.text};
color: ${catppuccin.toHex colors.text};
/* animation: fadeIn 0.5s ease-in-out both; */
}
#entry {
background-color: ${colors.base};
background-color: ${catppuccin.toHex colors.base};
}
#entry arrow {
border: none;
color: ${colors.${accent}};
color: ${catppuccin.toHex colors.${accent}};
}
/* Selected Entry */
#entry:selected arrow {
overflow: hidden;
color: ${colors.mauve};
color: ${catppuccin.toHex colors.mauve};
}
#entry:selected {
border: 1px solid ${colors.${accent}};
border: 1px solid ${catppuccin.toHex colors.${accent}};
border-radius: 10px;
}
#entry:selected #text {
color: ${colors.mauve};
color: ${catppuccin.toHex colors.mauve};
}
#entry:drop(active) {
background-color: ${colors.${accent}}!important;
background-color: ${catppuccin.toHex colors.${accent}}!important;
}
'';
};