{ config, lib, ... }: let inherit (lib) mkIf; cfg = config.terminal; in { config = mkIf cfg.kitty { default.terminal = lib.mkDefault "kitty"; home-manager.users.${config.user} = { programs.kitty = { enable = true; environment = {}; extraConfig = ""; settings = { # Font font_family = config.theme.font.monospace; font_size = 11; bold_font = "auto"; italic_font = "auto"; bold_italic_font = "auto"; # Scrollback scrollback_lines = 10000; scrollback_pager_history_size = 300; # MB # Urls detect_urls = true; show_hyperlink_targets = false; # Window window_padding_width = config.theme.outerGap; window_border_width = 0; draw_minimal_borders = true; background_opacity = config.theme.opacity; # Disable audio enable_audio_bell = false; # Disable close prompt confirm_os_window_close = 0; # selection selection_background = "#${config.theme.colors.surface}"; selection_foreground = "none"; # cursor url_color = "#${config.theme.colors.bright.yellow}"; cursor = "#${config.theme.colors.text}"; # colors background = "#${config.theme.colors.base}"; foreground = "#${config.theme.colors.text}"; # normal color0 = "#${config.theme.colors.normal.black}"; color1 = "#${config.theme.colors.normal.red}"; color2 = "#${config.theme.colors.normal.green}"; color3 = "#${config.theme.colors.normal.yellow}"; color4 = "#${config.theme.colors.normal.blue}"; color5 = "#${config.theme.colors.normal.magenta}"; color6 = "#${config.theme.colors.normal.cyan}"; color7 = "#${config.theme.colors.normal.white}"; # bright color8 = "#${config.theme.colors.bright.black}"; color9 = "#${config.theme.colors.bright.red}"; color10 = "#${config.theme.colors.bright.green}"; color11 = "#${config.theme.colors.bright.yellow}"; color12 = "#${config.theme.colors.bright.blue}"; color13 = "#${config.theme.colors.bright.magenta}"; color14 = "#${config.theme.colors.bright.cyan}"; color15 = "#${config.theme.colors.bright.white}"; }; }; }; }; }