107 lines
2.8 KiB
Nix
107 lines
2.8 KiB
Nix
{
|
|
lib,
|
|
config,
|
|
...
|
|
}: let
|
|
inherit (lib) mkIf mkEnableOption mkOption types;
|
|
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";
|
|
|
|
fontSize = mkOption {
|
|
type = types.int;
|
|
default = 11;
|
|
};
|
|
};
|
|
};
|
|
|
|
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 1.0
|
|
|
|
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 ${toString cfg.fontSize}
|
|
|
|
# The basic colors
|
|
foreground ${colors.text}
|
|
background ${colors.base}
|
|
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.mauve}
|
|
color13 ${colors.mauve}
|
|
|
|
# cyan
|
|
color6 ${colors.teal}
|
|
color14 ${colors.teal}
|
|
|
|
# white
|
|
color7 ${colors.subtext1}
|
|
color15 ${colors.subtext0}
|
|
'';
|
|
};
|
|
}
|