{ config, lib, pkgs, ... }: { # Hack around Emacs not using the TERMINFO environment variable. home.file.".terminfo".source = "${config.programs.kitty.package.terminfo}/share/terminfo/"; programs.kitty = { enable = true; settings = { enabled_layouts = "grid, tall, vertical, stack"; background_opacity = "1.0"; macos_option_as_alt = "left"; enable_audio_bell = "no"; window_alert_on_bell = "no"; shell_integration = "disabled"; }; font = { package = pkgs.fira-code; name = "Fira Code"; size = 14; }; keybindings = { "kitty_mod+enter" = "launch --cwd=current"; "kitty_mod+h" = "neighboring_window left"; "kitty_mod+j" = "neighboring_window down"; "kitty_mod+k" = "neighboring_window up"; "kitty_mod+l" = "neighboring_window right"; "kitty_mod+u" = "previous_tab"; "kitty_mod+o" = "next_tab"; "kitty_mod+z" = "toggle_layout stack"; "ctrl+s>l" = "next_layout"; "ctrl+s>h" = "show_scrollback"; "ctrl+s>u" = "input_unicode_character"; "ctrl+s>r" = "load_config_file"; "ctrl+s>1" = "goto_layout grid"; "ctrl+s>2" = "goto_layout tall"; "ctrl+s>3" = "goto_layout vertical"; "ctrl+page_down" = "next_tab"; "ctrl+page_up" = "previous_tab"; "ctrl+shift+page_down" = "move_tab_forward"; "ctrl+shift+page_up" = "move_tab_backward"; }; extraConfig = '' include ${./current-theme.conf} mouse_map left click ungrabbed no-op mouse_map ctrl+shift+left click ungrabbed mouse_click ''; }; }