{ pkgs, nixosConfig, lib, ... }: { programs.kitty = lib.mkIf nixosConfig.my.desktop.enable { enable = true; # Upstream test failures resolved; use default kitty package (>= 0.44). package = pkgs.kitty; settings = { font_family = "Maple Mono NF"; font_size = 11; wheel_scroll_min_lines = 1; window_padding_width = 4; confirm_os_window_close = 0; scrollback_lines = 10000; enable_audio_bell = false; mouse_hide_wait = 60; cursor_trail = 1; cursor_shape = "beam"; tab_fade = 1; active_tab_font_style = "bold"; inactive_tab_font_style = "bold"; tab_bar_edge = "top"; tab_bar_margin_width = 0; tab_bar_style = "powerline"; #tab_bar_style = "fade"; enabled_layouts = "splits"; open_url_with_default = true; detect_urls = true; allow_remote_control = true; shell = "fish"; }; shellIntegration.enableZshIntegration = true; shellIntegration.enableFishIntegration = true; shellIntegration.enableBashIntegration = true; shellIntegration.mode = "enabled"; extraConfig = '' #open_url_with default url_prefixes file ftp ftps gemini git gopher http https irc ircs kitty sftp ssh #detect_urls yes # Clipboard #map ctrl+shift+v paste_from_selection #map shift+insert paste_from_selection # Scrolling map ctrl+shift+up scroll_line_up map ctrl+shift+down scroll_line_down map ctrl+shift+k scroll_line_up map ctrl+shift+j scroll_line_down map ctrl+shift+page_up scroll_page_up map ctrl+shift+page_down scroll_page_down map ctrl+shift+home scroll_home map ctrl+shift+end scroll_end map ctrl+shift+h show_scrollback # Window management map alt+n new_window_with_cwd #map alt+n new_os_window map alt+w close_window map ctrl+shift+enter launch --location=hsplit map ctrl+shift+s launch --location=vsplit map ctrl+shift+] next_window map ctrl+shift+[ previous_window map ctrl+shift+f move_window_forward map ctrl+shift+b move_window_backward map ctrl+shift+` move_window_to_top map ctrl+shift+1 first_window map ctrl+shift+2 second_window map ctrl+shift+3 third_window map ctrl+shift+4 fourth_window map ctrl+shift+5 fifth_window map ctrl+shift+6 sixth_window map ctrl+shift+7 seventh_window map ctrl+shift+8 eighth_window map ctrl+shift+9 ninth_window # Tab management map ctrl+shift+0 tenth_window map ctrl+shift+right next_tab map ctrl+shift+left previous_tab map ctrl+shift+t new_tab map ctrl+shift+q close_tab map ctrl+shift+l next_layout map ctrl+shift+. move_tab_forward map ctrl+shift+, move_tab_backward # Miscellaneous map ctrl+shift+up increase_font_size map ctrl+shift+down decrease_font_size map ctrl+shift+backspace restore_font_size ''; }; }