{ config, ... }: { programs.kitty = { enable = true; settings = { # Font # MesloLGS NF font_family = "SF Mono Light"; bold_font = "SF Mono Medium"; italic_font = "SF Mono Light Italic"; bold_italic_font = "SF Mono Medium Italic"; font_size = 12; # 13.5 # Optimisation resize_debounce_time = 0; sync_to_monitor = true; repaint_delay = 0; input_delay = 0; # Style background_opacity = "0.8"; window_border_width = 0; window_margin_width = 15; hide_window_decorations = "titlebar-only"; include = "${config.xdg.cacheHome}/wal/colors-kitty.conf"; # Cursor cursor_blink_interval = 0; # 0.5 cursor_stop_blinking_after = 0; # 15 # Other scrollback_pager = "less +G -R"; wheel_scroll_multiplier = 5; click_interval = "0.5"; select_by_word_characters = ":@-./_~?&=%+#"; mouse_hide_wait = 0; enabled_layouts = "*"; remember_window_size = false; macos_option_as_alt = false; allow_remote_control = true; confirm_os_window_close = 0; term = "xterm-kitty"; # Bell visual_bell_duration = 0; enable_audio_bell = false; # URL Handling open_url_modifiers = "ctrl+shift"; open_url_with = "default"; }; extraConfig = '' # Clipboard map super+v paste_from_clipboard map ctrl+shift+s paste_from_selection map super+c copy_to_clipboard 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 super+n new_os_window map super+w close_window map ctrl+shift+enter new_window 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 map ctrl+shift+0 tenth_window # Tab management 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 map ctrl+/ launch --allow-remote-control kitty +kitten kitty_search/search.py @active-kitty-window-id ''; }; # read the file, but remove the line with shell_integration # xdg.configFile."kitty/kitty.conf".text = # builtins.map (line: if builtins.match "shell_integration" line then "" else line) (builtins.split "\n" (builtins.readFile ~/.config/kitty/kitty.conf)); }