{ config, pkgs, lib, ... }: { options.custom.gui = with lib; { kitty = { enable = mkEnableOption "Enable kitty"; }; }; config = lib.mkIf config.custom.gui.kitty.enable { programs.kitty = { enable = true; font = { package = pkgs.vista-fonts; name = "Consolas"; size = 12.0; }; shellIntegration = { enableBashIntegration = true; }; extraConfig = '' modify_font cell_height 1.1 # modify_font cell_width 95% text_composition_strategy legacy background #062329 foreground #d1b897 cursor-color #ffffff cursor-text #d1b897 selection_background #0000ff selection_foreground #d1b897 color0 #062329 # color1 #0b3335 # color2 #0000ff color3 #44b340 color4 #8cde94 color5 #d1b897 color6 #c1d1e3 color7 #ffffff color8 #626880 color9 #e67172 color10 #8ec772 color11 #d9ba73 color12 #7b9ef0 color13 #f2a4db color14 #5abfb5 color15 #b5bfe2 ''; keybindings = { # "CTRL+GRAVE_ACCENT" = "send_text all \x1b\x1f\x2a\x62\x1f"; # "SHIFT+CTRL+GRAVE_ACCENT" = "send_text all \x1b\x1f\x2a\x63\x1f"; # "CTRL+ALT+GRAVE_ACCENT" = "send_text all \x1b\x1f\x2a\x66\x1f"; # "SHIFT+CTRL+ALT+GRAVE_ACCENT" = "send_text all \x1b\x1f\x2a\x67\x1f"; # "CTRL+1" = "send_text all \x1b\x1f\x2b\x42\x1f"; # "SHIFT+CTRL+1" = "send_text all \x1b\x1f\x2b\x43\x1f"; # "CTRL+ALT+1" = "send_text all \x1b\x1f\x2b\x46\x1f"; # "SHIFT+CTRL+ALT+1" = "send_text all \x1b\x1f\x2b\x47\x1f"; # "CTRL+2" = "send_text all \x1b\x1f\x2c\x22\x1f"; # "SHIFT+CTRL+2" = "send_text all \x1b\x1f\x2c\x23\x1f"; # "CTRL+ALT+2" = "send_text all \x1b\x1f\x2c\x26\x1f"; # "SHIFT+CTRL+ALT+2" = "send_text all \x1b\x1f\x2c\x27\x1f"; # "CTRL+3" = "send_text all \x1b\x1f\x2c\x62\x1f"; # "SHIFT+CTRL+3" = "send_text all \x1b\x1f\x2c\x63\x1f"; # "CTRL+ALT+3" = "send_text all \x1b\x1f\x2c\x66\x1f"; # "SHIFT+CTRL+ALT+3" = "send_text all \x1b\x1f\x2c\x67\x1f"; # "CTRL+4" = "send_text all \x1b\x1f\x2d\x42\x1f"; # "SHIFT+CTRL+4" = "send_text all \x1b\x1f\x2d\x43\x1f"; # "CTRL+ALT+4" = "send_text all \x1b\x1f\x2d\x46\x1f"; # "SHIFT+CTRL+ALT+4" = "send_text all \x1b\x1f\x2d\x47\x1f"; # "CTRL+5" = "send_text all \x1b\x1f\x2e\x22\x1f"; # "SHIFT+CTRL+5" = "send_text all \x1b\x1f\x2e\x23\x1f"; # "CTRL+ALT+5" = "send_text all \x1b\x1f\x2e\x26\x1f"; # "SHIFT+CTRL+ALT+5" = "send_text all \x1b\x1f\x2e\x27\x1f"; # "CTRL+6" = "send_text all \x1b\x1f\x2e\x62\x1f"; # "SHIFT+CTRL+6" = "send_text all \x1b\x1f\x2e\x63\x1f"; # "CTRL+ALT+6" = "send_text all \x1b\x1f\x2e\x66\x1f"; # "SHIFT+CTRL+ALT+6" = "send_text all \x1b\x1f\x2e\x67\x1f"; # "CTRL+7" = "send_text all \x1b\x1f\x2f\x42\x1f"; # "SHIFT+CTRL+7" = "send_text all \x1b\x1f\x2f\x43\x1f"; # "CTRL+ALT+7" = "send_text all \x1b\x1f\x2f\x46\x1f"; # "SHIFT+CTRL+ALT+7" = "send_text all \x1b\x1f\x2f\x47\x1f"; # "CTRL+8" = "send_text all \x1b\x1f\x30\x22\x1f"; # "SHIFT+CTRL+8" = "send_text all \x1b\x1f\x30\x23\x1f"; # "CTRL+ALT+8" = "send_text all \x1b\x1f\x30\x26\x1f"; # "SHIFT+CTRL+ALT+8" = "send_text all \x1b\x1f\x30\x27\x1f"; # "CTRL+9" = "send_text all \x1b\x1f\x30\x62\x1f"; # "SHIFT+CTRL+9" = "send_text all \x1b\x1f\x30\x63\x1f"; # "CTRL+ALT+9" = "send_text all \x1b\x1f\x30\x66\x1f"; # "SHIFT+CTRL+ALT+9" = "send_text all \x1b\x1f\x30\x67\x1f"; # "CTRL+0" = "send_text all \x1b\x1f\x31\x42\x1f"; # "SHIFT+CTRL+0" = "send_text all \x1b\x1f\x31\x43\x1f"; # "CTRL+ALT+0" = "send_text all \x1b\x1f\x31\x46\x1f"; # "SHIFT+CTRL+ALT+0" = "send_text all \x1b\x1f\x31\x47\x1f"; # "CTRL+MINUS" = "send_text all \x1b\x1f\x32\x22\x1f"; # "SHIFT+CTRL+MINUS" = "send_text all \x1b\x1f\x32\x23\x1f"; # "CTRL+ALT+MINUS" = "send_text all \x1b\x1f\x32\x26\x1f"; # "SHIFT+CTRL+ALT+MINUS" = "send_text all \x1b\x1f\x32\x27\x1f"; # "CTRL+EQUAL" = "send_text all \x1b\x1f\x32\x62\x1f"; # "SHIFT+CTRL+EQUAL" = "send_text all \x1b\x1f\x32\x63\x1f"; # "CTRL+ALT+EQUAL" = "send_text all \x1b\x1f\x32\x66\x1f"; # "SHIFT+CTRL+ALT+EQUAL" = "send_text all \x1b\x1f\x32\x67\x1f"; # "SHIFT+BACKSPACE" = "send_text all \x1b\x1f\x33\x41\x1f"; # "CTRL+BACKSPACE" = "send_text all \x1b\x1f\x33\x42\x1f"; # "SHIFT+CTRL+BACKSPACE" = "send_text all \x1b\x1f\x33\x43\x1f"; # "SHIFT+ALT+BACKSPACE" = "send_text all \x1b\x1f\x33\x45\x1f"; # "CTRL+ALT+BACKSPACE" = "send_text all \x1b\x1f\x33\x46\x1f"; # "SHIFT+CTRL+ALT+BACKSPACE" = "send_text all \x1b\x1f\x33\x47\x1f"; # "CTRL+TAB" = "send_text all \x1b\x1f\x34\x22\x1f"; # "SHIFT+CTRL+TAB" = "send_text all \x1b\x1f\x34\x23\x1f"; # "CTRL+ALT+TAB" = "send_text all \x1b\x1f\x34\x26\x1f"; # "SHIFT+CTRL+ALT+TAB" = "send_text all \x1b\x1f\x34\x27\x1f"; # "SHIFT+CTRL+Q" = "send_text all \x1b\x1f\x34\x63\x1f"; # "SHIFT+CTRL+ALT+Q" = "send_text all \x1b\x1f\x34\x67\x1f"; # "SHIFT+CTRL+W" = "send_text all \x1b\x1f\x35\x43\x1f"; # "SHIFT+CTRL+ALT+W" = "send_text all \x1b\x1f\x35\x47\x1f"; # "SHIFT+CTRL+E" = "send_text all \x1b\x1f\x36\x23\x1f"; # "SHIFT+CTRL+ALT+E" = "send_text all \x1b\x1f\x36\x27\x1f"; # "SHIFT+CTRL+R" = "send_text all \x1b\x1f\x36\x63\x1f"; # "SHIFT+CTRL+ALT+R" = "send_text all \x1b\x1f\x36\x67\x1f"; # "SHIFT+CTRL+T" = "send_text all \x1b\x1f\x37\x43\x1f"; # "SHIFT+CTRL+ALT+T" = "send_text all \x1b\x1f\x37\x47\x1f"; # "SHIFT+CTRL+Y" = "send_text all \x1b\x1f\x38\x23\x1f"; # "SHIFT+CTRL+ALT+Y" = "send_text all \x1b\x1f\x38\x27\x1f"; # "SHIFT+CTRL+U" = "send_text all \x1b\x1f\x38\x63\x1f"; # "SHIFT+CTRL+ALT+U" = "send_text all \x1b\x1f\x38\x67\x1f"; # "SHIFT+CTRL+I" = "send_text all \x1b\x1f\x39\x43\x1f"; # "SHIFT+CTRL+ALT+I" = "send_text all \x1b\x1f\x39\x47\x1f"; # "SHIFT+CTRL+O" = "send_text all \x1b\x1f\x3a\x23\x1f"; # "SHIFT+CTRL+ALT+O" = "send_text all \x1b\x1f\x3a\x27\x1f"; # "SHIFT+CTRL+P" = "send_text all \x1b\x1f\x3a\x63\x1f"; # "SHIFT+CTRL+ALT+P" = "send_text all \x1b\x1f\x3a\x67\x1f"; # "CTRL+LEFT_BRACKET" = "send_text all \x1b\x1f\x3b\x42\x1f"; # "SHIFT+CTRL+LEFT_BRACKET" = "send_text all \x1b\x1f\x3b\x43\x1f"; # "CTRL+ALT+LEFT_BRACKET" = "send_text all \x1b\x1f\x3b\x46\x1f"; # "SHIFT+CTRL+ALT+LEFT_BRACKET" = "send_text all \x1b\x1f\x3b\x47\x1f"; # "CTRL+RIGHT_BRACKET" = "send_text all \x1b\x1f\x3c\x22\x1f"; # "SHIFT+CTRL+RIGHT_BRACKET" = "send_text all \x1b\x1f\x3c\x23\x1f"; # "CTRL+ALT+RIGHT_BRACKET" = "send_text all \x1b\x1f\x3c\x26\x1f"; # "SHIFT+CTRL+ALT+RIGHT_BRACKET" = "send_text all \x1b\x1f\x3c\x27\x1f"; # "SHIFT+ENTER" = "send_text all \x1b\x1f\x3c\x61\x1f"; # "CTRL+ENTER" = "send_text all \x1b\x1f\x3c\x62\x1f"; # "SHIFT+CTRL+ENTER" = "send_text all \x1b\x1f\x3c\x63\x1f"; # "SHIFT+ALT+ENTER" = "send_text all \x1b\x1f\x3c\x65\x1f"; # "CTRL+ALT+ENTER" = "send_text all \x1b\x1f\x3c\x66\x1f"; # "SHIFT+CTRL+ALT+ENTER" = "send_text all \x1b\x1f\x3c\x67\x1f"; # "SHIFT+CTRL+A" = "send_text all \x1b\x1f\x3e\x23\x1f"; # "SHIFT+CTRL+ALT+A" = "send_text all \x1b\x1f\x3e\x27\x1f"; # "SHIFT+CTRL+S" = "send_text all \x1b\x1f\x3e\x63\x1f"; # "SHIFT+CTRL+ALT+S" = "send_text all \x1b\x1f\x3e\x67\x1f"; # "SHIFT+CTRL+D" = "send_text all \x1b\x1f\x3f\x43\x1f"; # "SHIFT+CTRL+ALT+D" = "send_text all \x1b\x1f\x3f\x47\x1f"; # "SHIFT+CTRL+F" = "send_text all \x1b\x1f\x40\x23\x1f"; # "SHIFT+CTRL+ALT+F" = "send_text all \x1b\x1f\x40\x27\x1f"; # "SHIFT+CTRL+G" = "send_text all \x1b\x1f\x40\x63\x1f"; # "CTRL+ALT+G" = "send_text all \x1b\x1f\x40\x66\x1f"; # "SHIFT+CTRL+ALT+G" = "send_text all \x1b\x1f\x40\x67\x1f"; # "SHIFT+CTRL+H" = "send_text all \x1b\x1f\x41\x43\x1f"; # "SHIFT+CTRL+ALT+H" = "send_text all \x1b\x1f\x41\x47\x1f"; # "SHIFT+CTRL+J" = "send_text all \x1b\x1f\x42\x23\x1f"; # "SHIFT+CTRL+ALT+J" = "send_text all \x1b\x1f\x42\x27\x1f"; # "SHIFT+CTRL+K" = "send_text all \x1b\x1f\x42\x63\x1f"; # "SHIFT+CTRL+ALT+K" = "send_text all \x1b\x1f\x42\x67\x1f"; # "SHIFT+CTRL+L" = "send_text all \x1b\x1f\x43\x43\x1f"; # "SHIFT+CTRL+ALT+L" = "send_text all \x1b\x1f\x43\x47\x1f"; # "CTRL+SEMICOLON" = "send_text all \x1b\x1f\x44\x22\x1f"; # "SHIFT+CTRL+SEMICOLON" = "send_text all \x1b\x1f\x44\x23\x1f"; # "CTRL+ALT+SEMICOLON" = "send_text all \x1b\x1f\x44\x26\x1f"; # "SHIFT+CTRL+ALT+SEMICOLON" = "send_text all \x1b\x1f\x44\x27\x1f"; # "CTRL+APOSTROPHE" = "send_text all \x1b\x1f\x44\x62\x1f"; # "SHIFT+CTRL+APOSTROPHE" = "send_text all \x1b\x1f\x44\x63\x1f"; # "CTRL+ALT+APOSTROPHE" = "send_text all \x1b\x1f\x44\x66\x1f"; # "SHIFT+CTRL+ALT+APOSTROPHE" = "send_text all \x1b\x1f\x44\x67\x1f"; # "CTRL+BACKSLASH" = "send_text all \x1b\x1f\x46\x22\x1f"; # "SHIFT+CTRL+BACKSLASH" = "send_text all \x1b\x1f\x46\x23\x1f"; # "CTRL+ALT+BACKSLASH" = "send_text all \x1b\x1f\x46\x26\x1f"; # "SHIFT+CTRL+ALT+BACKSLASH" = "send_text all \x1b\x1f\x46\x27\x1f"; # "SHIFT+CTRL+Z" = "send_text all \x1b\x1f\x46\x63\x1f"; # "SHIFT+CTRL+ALT+Z" = "send_text all \x1b\x1f\x46\x67\x1f"; # "SHIFT+CTRL+X" = "send_text all \x1b\x1f\x47\x43\x1f"; # "SHIFT+CTRL+ALT+X" = "send_text all \x1b\x1f\x47\x47\x1f"; # "SHIFT+CTRL+C" = "send_text all \x1b\x1f\x48\x23\x1f"; # "SHIFT+CTRL+ALT+C" = "send_text all \x1b\x1f\x48\x27\x1f"; # "SHIFT+CTRL+V" = "send_text all \x1b\x1f\x48\x63\x1f"; # "SHIFT+CTRL+ALT+V" = "send_text all \x1b\x1f\x48\x67\x1f"; # "SHIFT+CTRL+B" = "send_text all \x1b\x1f\x49\x43\x1f"; # "SHIFT+CTRL+ALT+B" = "send_text all \x1b\x1f\x49\x47\x1f"; # "SHIFT+CTRL+N" = "send_text all \x1b\x1f\x4a\x23\x1f"; # "SHIFT+CTRL+ALT+N" = "send_text all \x1b\x1f\x4a\x27\x1f"; # "SHIFT+CTRL+M" = "send_text all \x1b\x1f\x4a\x63\x1f"; # "SHIFT+CTRL+ALT+M" = "send_text all \x1b\x1f\x4a\x67\x1f"; # "CTRL+COMMA" = "send_text all \x1b\x1f\x4b\x42\x1f"; # "SHIFT+CTRL+COMMA" = "send_text all \x1b\x1f\x4b\x43\x1f"; # "CTRL+ALT+COMMA" = "send_text all \x1b\x1f\x4b\x46\x1f"; # "SHIFT+CTRL+ALT+COMMA" = "send_text all \x1b\x1f\x4b\x47\x1f"; # "CTRL+PERIOD" = "send_text all \x1b\x1f\x4c\x22\x1f"; # d # "SHIFT+CTRL+PERIOD" = "send_text all \x1b\x1f\x4c\x23\x1f"; # d # "CTRL+ALT+PERIOD" = "send_text all \x1b\x1f\x4c\x26\x1f"; # d # "SHIFT+CTRL+ALT+PERIOD" = "send_text all \x1b\x1f\x4c\x27\x1f"; # d # "CTRL+SLASH" = "send_text all \x1b\x1f\x4c\x62\x1f"; # "SHIFT+CTRL+SLASH" = "send_text all \x1b\x1f\x4c\x63\x1f"; # "CTRL+ALT+SLASH" = "send_text all \x1b\x1f\x4c\x66\x1f"; # "SHIFT+CTRL+ALT+SLASH" = "send_text all \x1b\x1f\x4c\x67\x1f"; # "CTRL+SPACE" = "send_text all \x1b\x1f\x50\x22\x1f"; # "SHIFT+CTRL+SPACE" = "send_text all \x1b\x1f\x50\x23\x1f"; # "CTRL+ALT+SPACE" = "send_text all \x1b\x1f\x50\x26\x1f"; # "SHIFT+CTRL+ALT+SPACE" = "send_text all \x1b\x1f\x50\x27\x1f"; # "MENU" = "send_text all \x1b\x1f\x52\x20\x1f"; # "SHIFT+MENU" = "send_text all \x1b\x1f\x52\x21\x1f"; # "CTRL+MENU" = "send_text all \x1b\x1f\x52\x22\x1f"; # "SHIFT+CTRL+MENU" = "send_text all \x1b\x1f\x52\x23\x1f"; # "ALT+MENU" = "send_text all \x1b\x1f\x52\x24\x1f"; # "SHIFT+ALT+MENU" = "send_text all \x1b\x1f\x52\x25\x1f"; # "CTRL+ALT+MENU" = "send_text all \x1b\x1f\x52\x26\x1f"; # "SHIFT+CTRL+ALT+MENU" = "send_text all \x1b\x1f\x52\x27\x1f"; # "SHIFT+CTRL+UP" = "send_text all \x1b\x1f\x53\x43\x1f"; # "ALT+UP" = "send_text all \x1b\x1f\x53\x44\x1f"; # "SHIFT+ALT+UP" = "send_text all \x1b\x1f\x53\x45\x1f"; # "CTRL+ALT+UP" = "send_text all \x1b\x1f\x53\x46\x1f"; # "SHIFT+CTRL+ALT+UP" = "send_text all \x1b\x1f\x53\x47\x1f"; # "SHIFT+CTRL+DOWN" = "send_text all \x1b\x1f\x54\x23\x1f"; # "ALT+DOWN" = "send_text all \x1b\x1f\x54\x24\x1f"; # "SHIFT+ALT+DOWN" = "send_text all \x1b\x1f\x54\x25\x1f"; # "CTRL+ALT+DOWN" = "send_text all \x1b\x1f\x54\x26\x1f"; # "SHIFT+CTRL+ALT+DOWN" = "send_text all \x1b\x1f\x54\x27\x1f"; # "SHIFT+CTRL+LEFT" = "send_text all \x1b\x1f\x54\x63\x1f"; # "ALT+LEFT" = "send_text all \x1b\x1f\x54\x64\x1f"; # "SHIFT+ALT+LEFT" = "send_text all \x1b\x1f\x54\x65\x1f"; # "CTRL+ALT+LEFT" = "send_text all \x1b\x1f\x54\x66\x1f"; # "SHIFT+CTRL+ALT+LEFT" = "send_text all \x1b\x1f\x54\x67\x1f"; # "SHIFT+CTRL+RIGHT" = "send_text all \x1b\x1f\x55\x43\x1f"; # "ALT+RIGHT" = "send_text all \x1b\x1f\x55\x44\x1f"; # "SHIFT+ALT+RIGHT" = "send_text all \x1b\x1f\x55\x45\x1f"; # "CTRL+ALT+RIGHT" = "send_text all \x1b\x1f\x55\x46\x1f"; # "SHIFT+CTRL+ALT+RIGHT" = "send_text all \x1b\x1f\x55\x47\x1f"; # "SHIFT+CTRL+HOME" = "send_text all \x1b\x1f\x57\x43\x1f"; # "ALT+HOME" = "send_text all \x1b\x1f\x57\x44\x1f"; # "SHIFT+ALT+HOME" = "send_text all \x1b\x1f\x57\x45\x1f"; # "CTRL+ALT+HOME" = "send_text all \x1b\x1f\x57\x46\x1f"; # "SHIFT+CTRL+ALT+HOME" = "send_text all \x1b\x1f\x57\x47\x1f"; # "SHIFT+CTRL+END" = "send_text all \x1b\x1f\x58\x23\x1f"; # "ALT+END" = "send_text all \x1b\x1f\x58\x24\x1f"; # "SHIFT+ALT+END" = "send_text all \x1b\x1f\x58\x25\x1f"; # "CTRL+ALT+END" = "send_text all \x1b\x1f\x58\x26\x1f"; # "SHIFT+CTRL+ALT+END" = "send_text all \x1b\x1f\x58\x27\x1f"; # "SHIFT+PAGE_UP" = "send_text all \x1b\x1f\x58\x61\x1f"; # "SHIFT+CTRL+PAGE_UP" = "send_text all \x1b\x1f\x58\x63\x1f"; # "ALT+PAGE_UP" = "send_text all \x1b\x1f\x58\x64\x1f"; # "SHIFT+ALT+PAGE_UP" = "send_text all \x1b\x1f\x58\x65\x1f"; # "CTRL+ALT+PAGE_UP" = "send_text all \x1b\x1f\x58\x66\x1f"; # "SHIFT+CTRL+ALT+PAGE_UP" = "send_text all \x1b\x1f\x58\x67\x1f"; # "SHIFT+PAGE_DOWN" = "send_text all \x1b\x1f\x59\x41\x1f"; # "SHIFT+CTRL+PAGE_DOWN" = "send_text all \x1b\x1f\x59\x43\x1f"; # "ALT+PAGE_DOWN" = "send_text all \x1b\x1f\x59\x44\x1f"; # "SHIFT+ALT+PAGE_DOWN" = "send_text all \x1b\x1f\x59\x45\x1f"; # "CTRL+ALT+PAGE_DOWN" = "send_text all \x1b\x1f\x59\x46\x1f"; # "SHIFT+CTRL+ALT+PAGE_DOWN" = "send_text all \x1b\x1f\x59\x47\x1f"; }; }; }; }