# ./modules/users/psljr/kitty.nix
# Configure the kitty terminal emulator for user psljr

{ config, pkgs, ... }:

{
  home-manager.users.psljr = { pkgs, ... }: {
    programs.kitty = {
      enable = true;

      # Set font values
      font = {
        name = "JetbrainsMono";
        size = 9;
      };

      settings = {
        foreground = "#F7F7F7";
        selection_foreground = "#2F4858";
        selection_background = "#f2d5cf";
        dynamic_background_opacity = "yes";
        background_opacity="0.75";

        cursor_text_color = "#2F4858";

        url_color = "#f2d5cf";

        active_tab_foreground = "#232634";
        active_tab_background = "#ca9ee6";
        inactive_tab_foreground = "#F7F7F7";
        inactive_tab_background = "#292c3c";
        tab_bar_background = "#232634";

        mark1_foreground = "#2F4858";
        mark1_background = "#babbf1";
        mark2_foreground = "#2F4858";
        mark2_background = "#ca9ee6";
        mark3_foreground = "#2F4858";
        mark3_background = "#85c1dc";

        # The 16 terminal colors

        # Black
        color0 = "#51576d";
        color8 = "#626880";

        # Red
        color1 = "#e78284";
        color9 = "#e78284";

        # Green
        color2 = "#a6d189";
        color10 = "#a6d189";

        # Yellow
        color3 = "#e5c890";
        color11 = "#e5c890";

        # Blue
        color4 = "#8caaee";
        color12 = "#8caaee";

        # Magenta
        color5 = "#f4b8e4";
        color13 = "#f4b8e4";

        # Cyan
        color6 = "#81c8be";
        color14 = "#81c8be";

        # White
        color7 = "#b5bfe2";
        color15 = "#a5adce";
      };

      keybindings = {
        "ctrl+c" = "copy_or_interrupt";
        "ctrl+v" = "paste_from_clipboard";
        "ctrl+shift+plus" = "change_font_size all +1.0";
        "ctrl+shift+equal" = "change_font_size all +1.0";
        "ctrl+shift+minus" = "change_font_size all -1.0";
        "ctrl+shift+kp_subtract" = "change_font_size all -1.0";
      };
    };
  };
}
