Files
dotfiles/nix/modules/kitty/default.nix
2023-05-25 12:35:45 -07:00

58 lines
1.5 KiB
Nix

{ 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";
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
'';
};
}