nix-conf/modules/home-manager/kitty/default.nix
2024-04-12 11:15:51 +05:30

63 lines
2.2 KiB
Nix

{
config,
lib,
pkgs,
...
}: {
options = {
kitty.enable = lib.mkEnableOption "enable kitty";
};
config = lib.mkIf config.kitty.enable {
programs.kitty = {
enable = true;
keybindings = {
# Create a new window splitting the space used by the existing one so that
# the two windows are placed one above the other
"f5" = "launch --location=hsplit";
# Create a new window splitting the space used by the existing one so that
# the two windows are placed side by side
"f6" = "launch --location=vsplit";
# Create a new window splitting the space used by the existing one so that
# the two windows aew placed side by side if the existing window is wide or
# one above the other if the existing window is tall
"f4" = "launch --location=split";
# Rotate the current split, changing its split axis from vertical to
# horizontal or vice versa
"f7" = "layout_action rotate";
# Move the active window in the indicated direction
"shift+up" = "move_window up";
"shift+left" = "move_window left";
"shift+right" = "move_window right";
"shift+down" = "move_window down";
# Move the window to the indicated screen edge
"ctrl+shift+up" = "layout_action move_to_screen_edge top";
"ctrl+shift+left" = "layout_action move_to_screen_edge left";
"ctrl+shift+right" = "layout_action move_to_screen_edge right";
"ctrl+shift+down" = "layout_action move_to_screen_edge bottom";
# Switch focus to the neighboring window in the indicated direction
"ctrl+left" = "neighboring_window left";
"ctrl+right" = "neighboring_window right";
"ctrl+up" = "neighboring_window up";
"ctrl+down" = "neighboring_window down";
};
extraConfig = "include ~/.config/kitty/current-theme.conf
font_family JetBrainsMono Nerd Font
bold_font JetBrainsMono NF Bold
italic_font JetBrainsMono NF Italic
bold_italic_font JetBrainsMono NF Bold Italic
wayland_titlebar_color system
hide_window_decorations no
linux_display_server x11
enabled_layouts splits
confirm_os_window_close 0
";
};
home.packages = with pkgs; [kitty-themes];
};
}