{ lib, config, ... }: let inherit (lib) mkIf mkEnableOption; cfg = config.horseman.dots.kitty; username = config.horseman.username; colors = config.horseman.catppuccin.colors; in { options = { horseman.dots.kitty = { enable = mkEnableOption "~/.config/kitty/kitty.conf"; }; }; config = mkIf cfg.enable { home-manager.users.${username}.xdg.configFile."kitty/kitty.conf".text = '' enable_audio_bell no confirm_os_window_close 0 background_opacity 0.7 font_family family='CaskaydiaCove Nerd Font' postscript_name=CaskaydiaCoveNF-Light bold_font family='CaskaydiaCove Nerd Font' style=SemiBold italic_font family='CaskaydiaCove Nerd Font' postscript_name=CaskaydiaCoveNF-LightItalic bold_italic_font family='CaskaydiaCove Nerd Font' style='SemiBold Italic' font_size 14 # The basic colors foreground ${colors.text} background #000000 selection_foreground ${colors.base} selection_background ${colors.rosewater} # Cursor colors cursor ${colors.rosewater} cursor_text_color ${colors.base} # URL underline color when hovering with mouse url_color ${colors.rosewater} # Kitty window border colors active_border_color ${colors.lavender} inactive_border_color ${colors.overlay0} bell_border_color ${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} # 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} # The 16 terminal colors # black color0 ${colors.surface1} color8 ${colors.surface2} # red color1 ${colors.red} color9 ${colors.red} # green color2 ${colors.green} color10 ${colors.green} # yellow color3 ${colors.yellow} color11 ${colors.yellow} # blue color4 ${colors.blue} color12 ${colors.blue} # magenta color5 ${colors.pink} color13 ${colors.pink} # cyan color6 ${colors.teal} color14 ${colors.teal} # white color7 ${colors.subtext1} color15 ${colors.subtext0} ''; }; }