nix/home/kitty.nix
2025-04-05 16:34:08 -05:00

264 lines
15 KiB
Nix

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