refactor(kitty): nixify configuration

This commit is contained in:
2026-09-28 21:03:34 +02:00
parent 761102fd35
commit d35575326b
3 changed files with 137 additions and 158 deletions
-147
View File
@@ -1,147 +0,0 @@
#: Fonts {{{
font_family Iosevka Term SS08
bold_font auto
italic_font auto
bold_italic_font auto
font_size 12.0
disable_ligatures never
# }}}
#: Cursor {{{
cursor_shape block
cursor_blink_interval 0
#: }}}
#: Scrollback {{{
scrollback_lines 8192
scrollbar scrolled
scrollback_pager_history_size 1024
#: }}}
#: Mouse {{{
mouse_hide_wait 0.0
paste_actions quote-urls-at-prompt
#: }}}
#: Performance tuning {{{
repaint_delay 8
input_delay 2
#: }}}
#: Terminal bell {{{
enable_audio_bell yes
window_alert_on_bell yes
#: }}}
#: Window layout {{{
remember_window_size no
remember_window_position no
enabled_layouts *
hide_window_decorations yes
#: }}}
#: Advanced {{{
notify_on_cmd_finish unfocused
#: }}}
#: OS specific tweaks {{{
linux_display_server auto
wayland_enable_ime no
#: }}}
#: Keyboard shortcuts {{{
kitty_mod ctrl+shift
map kitty_mod+c copy_to_clipboard
map kitty_mod+v paste_from_clipboard
map cmd+v
# map kitty_mod+o pass_selection_to_program
# map kitty_mod+o pass_selection_to_program firefox
# map kitty_mod+y new_window less @selection
map kitty_mod+z scroll_to_prompt -1
map kitty_mod+x scroll_to_prompt 1
map kitty_mod+h show_scrollback
# map f1 launch --stdin-source=@screen_scrollback --stdin-add-formatting --type=overlay less +G -R
#:: For more details on piping screen and buffer contents to external
#:: programs, see launch <https://sw.kovidgoyal.net/kitty/launch/>.
# map kitty_mod+g show_last_command_output
# map kitty_mod+enter launch --cwd=current
# map cmd+enter
# map ctrl+n launch --location=neighbor
# map ctrl+f launch --location=first
map kitty_mod+n
map cmd+n
map kitty_mod+w
map shift+cmd+d
map kitty_mod+]
map kitty_mod+[
map kitty_mod+f
map kitty_mod+b
map kitty_mod+`
map kitty_mod+r
map cmd+r
map kitty_mod+1
map cmd+1
map kitty_mod+2
map cmd+2
map kitty_mod+3
map cmd+3
map kitty_mod+4
map cmd+4
map kitty_mod+5
map cmd+5
map kitty_mod+6
map cmd+6
map kitty_mod+7
map cmd+7
map kitty_mod+8
map cmd+8
map kitty_mod+9
map cmd+9
map kitty_mod+0
# map kitty_mod+c new_tab # FIXME: conflict with 'copy'
map cmd+t
map kitty_mod+q
map cmd+w
map kitty_mod+.
map kitty_mod+,
map kitty_mod+alt+t
map shift+cmd+i
map kitty_mod+f1
map kitty_mod+f11
map ctrl+cmd+f
map kitty_mod+f10
map opt+cmd+s
map kitty_mod+u kitten unicode_input
map ctrl+cmd+space
map kitty_mod+/ kitty_shell window
map kitty_mod+f5
map kitty_mod+r load_config_file
map shift+cmd+/
map cmd+h
map opt+cmd+
map cmd+m
map cmd+q
#: }}}
include ./nvim.conf
-8
View File
@@ -1,8 +0,0 @@
allow_remote_control socket-only
listen_on unix:/tmp/kitty
shell_integration enabled
action_alias kitty_scrollback_nvim kitten ~/.local/share/kitty-scrollback.nvim/python/kitty_scrollback_nvim.py
map kitty_mod+h kitty_scrollback_nvim
map kitty_mod+g kitty_scrollback_nvim --config ksb_builtin_last_cmd_output
mouse_map ctrl+shift+right press ungrabbed combine : mouse_select_command_output : kitty_scrollback_nvim --config ksb_builtin_last_visited_cmd_output
+137 -3
View File
@@ -2,7 +2,6 @@
config,
lib,
pkgs,
dotsPath,
...
}:
@@ -20,10 +19,145 @@ in
programs.kitty = {
enable = true;
package = config.nixgl.wrap pkgs.kitty;
extraConfig = builtins.readFile (dotsPath + "/.config/kitty/kitty.conf");
settings = {
#: Fonts {{{
font_family = "Iosevka Term SS08";
bold_font = "auto";
italic_font = "auto";
bold_italic_font = "auto";
font_size = 12.0;
disable_ligatures = "never";
# }}}
#: Cursor {{{
cursor_shape = "block";
cursor_blink_interval = 0;
#: }}}
#: Scrollback {{{
scrollback_lines = 8192;
scrollbar = "scrolled";
scrollback_pager_history_size = 1024;
#: }}}
#: Mouse {{{
mouse_hide_wait = 0.0;
paste_actions = "quote-urls-at-prompt";
#: }}}
#: Performance tuning {{{
repaint_delay = 8;
input_delay = 2;
#: }}}
#: Terminal bell {{{
enable_audio_bell = true;
window_alert_on_bell = true;
#: }}}
#: Window layout {{{
remember_window_size = false;
remember_window_position = false;
enabled_layouts = "*";
hide_window_decorations = true;
#: }}}
#: Advanced {{{
notify_on_cmd_finish = "unfocused";
#: }}}
#: OS specific tweaks {{{
linux_display_server = "auto";
wayland_enable_ime = false;
#: }}}
kitty_mod = "ctrl+shift";
allow_remote_control = "socket-only";
listen_on = "unix:/tmp/kitty";
shell_integration = "enabled";
};
#: Keyboard shortcuts {{{
keybindings = {
"kitty_mod+c" = "copy_to_clipboard";
"kitty_mod+v" = "paste_from_clipboard";
"cmd+v" = "";
# map kitty_mod+o pass_selection_to_program
# map kitty_mod+o pass_selection_to_program firefox
# map kitty_mod+y new_window less @selection
"kitty_mod+z" = "scroll_to_prompt -1";
"kitty_mod+x" = "scroll_to_prompt 1";
"kitty_mod+h" = "kitty_scrollback_nvim";
# map f1 launch --stdin-source=@screen_scrollback --stdin-add-formatting --type=overlay less +G -R
#:: For more details on piping screen and buffer contents to external
#:: programs, see launch <https://sw.kovidgoyal.net/kitty/launch/>.
# map kitty_mod+g show_last_command_output
# map kitty_mod+enter launch --cwd=current
# map cmd+enter
# map ctrl+n launch --location=neighbor
# map ctrl+f launch --location=first
"kitty_mod+n" = "";
"cmd+n" = "";
"kitty_mod+w" = "";
"shift+cmd+d" = "";
"kitty_mod+]" = "";
"kitty_mod+[" = "";
"kitty_mod+f" = "";
"kitty_mod+b" = "";
"kitty_mod+`" = "";
"cmd+r" = "";
"kitty_mod+1" = "";
"cmd+1" = "";
"kitty_mod+2" = "";
"cmd+2" = "";
"kitty_mod+3" = "";
"cmd+3" = "";
"kitty_mod+4" = "";
"cmd+4" = "";
"kitty_mod+5" = "";
"cmd+5" = "";
"kitty_mod+6" = "";
"cmd+6" = "";
"kitty_mod+7" = "";
"cmd+7" = "";
"kitty_mod+8" = "";
"cmd+8" = "";
"kitty_mod+9" = "";
"cmd+9" = "";
"kitty_mod+0" = "";
# map kitty_mod+c new_tab # FIXME: conflict with 'copy'
"cmd+t" = "";
"kitty_mod+q" = "";
"cmd+w" = "";
"kitty_mod+." = "";
"kitty_mod+," = "";
"kitty_mod+alt+t" = "";
"shift+cmd+i" = "";
"kitty_mod+f1" = "";
"kitty_mod+f11" = "";
"ctrl+cmd+f" = "";
"kitty_mod+f10" = "";
"opt+cmd+s" = "";
"kitty_mod+u" = "kitten unicode_input";
"ctrl+cmd+space" = "";
"kitty_mod+/" = "kitty_shell window";
"kitty_mod+f5" = "";
"kitty_mod+r" = "load_config_file";
"shift+cmd+/" = "";
"cmd+h" = "";
"opt+cmd+" = "";
"cmd+m" = "";
"cmd+q" = "";
"kitty_mod+g" = "kitty_scrollback_nvim --config ksb_builtin_last_cmd_output";
};
#: }}}
actionAliases.kitty_scrollback_nvim = "kitten ~/.local/share/kitty-scrollback.nvim/python/kitty_scrollback_nvim.py";
mouseBindings."ctrl+shift+right press" =
"ungrabbed combine : mouse_select_command_output : kitty_scrollback_nvim --config ksb_builtin_last_visited_cmd_output";
};
home.file.".config/kitty/nvim.conf".source = dotsPath + "/.config/kitty/nvim.conf";
home.file.".local/share/kitty-scrollback.nvim".source = pkgs.vimPlugins.kitty-scrollback-nvim;
};
}