{ lib, osconfig, ... }:
{
  programs.kitty =
    lib.mkIf
      (osconfig.device.programs.terminal.enable && osconfig.device.programs.terminal.name == "kitty")
      {
        enable = true;

        keybindings = {
          "ctrl+c" = "copy_to_clipboard";
          "ctrl+v" = "paste_from_clipboard";
        };

        settings = {
          window_padding_width = 2;
          window_padding_height = 2;

          cursor_shape = "beam";
          # background_opacity = 0.5;

          font_family = "Tahoma";
          font_size = 9;

          foreground = "#cdd6f4";
          background = "#1e1e2e";
          selection_foreground = "#1e1e2e";
          selection_background = "#f5e0dc";

          cursor = "#f5e0dc";
          cursor_text_color = "#1e1e2e";

          url_color = "#f5e0dc";

          active_border_color = "#b4befe";
          inactive_border_color = "#6c7086";
          bell_border_color = "#f9e2af";

          wayland_titlebar_color = "system";
          macos_titlebar_color = "system";

          active_tab_foreground = "#11111b";
          active_tab_background = "#cba6f7";
          inactive_tab_foreground = "#cdd6f4";
          inactive_tab_background = "#181825";
          tab_bar_background = "#11111b";

          mark1_foreground = "#1e1e2e";
          mark1_background = "#b4befe";
          mark2_foreground = "#1e1e2e";
          mark2_background = "#cba6f7";
          mark3_foreground = "#1e1e2e";
          mark3_background = "#74c7ec";

          color0 = "#45475a";
          color8 = "#585b70";

          color1 = "#f38ba8";
          color9 = "#f38ba8";

          color2 = "#a6e3a1";
          color10 = "#a6e3a1";

          color3 = "#f9e2af";
          color11 = "#f9e2af";

          color4 = "#89b4fa";
          color12 = "#89b4fa";

          color5 = "#f5c2e7";
          color13 = "#f5c2e7";

          color6 = "#94e2d5";
          color14 = "#94e2d5";

          color7 = "#bac2de";
          color15 = "#a6adc8";
        };
      };
}
