{ config, lib, ... }: let inherit (config.colorscheme) colors; fonts = config.homeModules.theme.font; cfg = config.homeModules.desktop.terminal.kitty; fish = config.homeModules.console.shell.fish; in { config = lib.mkIf cfg.enable { home.sessionVariables = lib.mkIf cfg.default { TERMINAL = "kitty -1"; TERM = "kitty -1"; }; programs.kitty = { enable = true; font = { name = fonts.monospace.family; size = 12; }; shellIntegration.enableFishIntegration = lib.mkif fish.enable true; settings = { scrollback_lines = 4000; scrollback_pager_history_size = 2048; window_padding_width = 1; foreground = "#${colors.base05}"; background = "#${colors.base00}"; background_opacity = "1.0"; selection_background = "#${colors.base05}"; selection_foreground = "#${colors.base00}"; url_color = "#${colors.base04}"; cursor = "#${colors.base05}"; active_border_color = "#${colors.base03}"; inactive_border_color = "#${colors.base01}"; active_tab_background = "#${colors.base00}"; active_tab_foreground = "#${colors.base05}"; inactive_tab_background = "#${colors.base01}"; inactive_tab_foreground = "#${colors.base04}"; tab_bar_background = "#${colors.base01}"; color0 = "#${colors.base00}"; color1 = "#${colors.base08}"; color2 = "#${colors.base0B}"; color3 = "#${colors.base0A}"; color4 = "#${colors.base0D}"; color5 = "#${colors.base0E}"; color6 = "#${colors.base0C}"; color7 = "#${colors.base05}"; color8 = "#${colors.base03}"; color9 = "#${colors.base08}"; color10 = "#${colors.base0B}"; color11 = "#${colors.base0A}"; color12 = "#${colors.base0D}"; color13 = "#${colors.base0E}"; color14 = "#${colors.base0C}"; color15 = "#${colors.base07}"; color16 = "#${colors.base09}"; color17 = "#${colors.base0F}"; color18 = "#${colors.base01}"; color19 = "#${colors.base02}"; color20 = "#${colors.base04}"; color21 = "#${colors.base06}"; }; }; }; }