{ pkgs, config, ... }:
let
  color = n:
    config.environment.graphical.colors."${config.environment.graphical.theme.name}"."${builtins.toString
    n}";
in {
  home-manager.users.agatha = {
    home.sessionVariables.TERMINAL = "kitty";

    programs.kitty = {
      enable = true;
      font = {
        package = pkgs.iosevka;
        name = "Iosevka Gothic";
        size = 11.5;
      };

      keybindings = { "f5" = "load_config_file"; };

      settings = {
        disable_ligatures = "never";

        draw_minimal_borders = false;
        active_tab_font_style = "italic";
        inactive_tab_font_style = "normal";

        scrollback_lines = -10000;
        url_style = "single";

        strip_trailing_spaces = "smart";
        enable_audio_bell = false;

        window_margin_width = 10;
        window_padding_width = 10;
        inactive_text_alpha = "0.8";
        enabled_layouts = "vertical, grid, stack";

        tab_bar_edge = "top";
        tab_bar_style = "fade";
        tab_bar_margin_width = 5;
        tab_separator = "•";
        tab_title_template = "☾ {index}";

        foreground = color 15;
        background = color 0;
        cursor = color 15;

        color0 = color 0;
        color8 = color 8;
        color1 = color 1;
        color9 = color 9;
        color2 = color 2;
        color10 = color 10;
        color3 = color 3;
        color11 = color 11;
        color4 = color 4;
        color12 = color 12;
        color5 = color 5;
        color13 = color 13;
        color6 = color 6;
        color14 = color 14;
        color7 = color 7;
        color15 = color 15;

        selection_foreground = color 1;
        selection_background = color 15;

        url_color = color 1;

        active_border_color = color 1;
        inactive_border_color = color 2;
        bell_border_color = color 6;

        active_tab_foreground = color 15;
        active_tab_background = color 1;
        inactive_tab_foreground = color 8;
        inactive_tab_background = color 2;
      };
    };
  };
}
