2025-01-19 14:51:32 +01:00
|
|
|
{ pkgs, lib, ... }:
|
2020-03-24 00:57:11 +01:00
|
|
|
|
2020-09-29 14:05:09 +02:00
|
|
|
with pkgs;
|
2024-05-26 16:45:38 +02:00
|
|
|
with lib;
|
|
|
|
{
|
2023-03-17 12:37:26 +01:00
|
|
|
# kitty terminal
|
2021-08-04 22:30:39 +02:00
|
|
|
programs.kitty = {
|
2020-06-18 16:25:53 +02:00
|
|
|
enable = true;
|
2024-05-26 16:45:38 +02:00
|
|
|
keybindings =
|
|
|
|
let
|
|
|
|
vimKittyBinding = bind: ''kitten pass_keys.py neighboring_window ${bind} "^.* - nvim$"'';
|
|
|
|
in
|
|
|
|
{
|
|
|
|
"ctrl+h" = vimKittyBinding "left ctrl+h";
|
|
|
|
"ctrl+j" = vimKittyBinding "bottom ctrl+j";
|
|
|
|
"ctrl+k" = vimKittyBinding "top ctrl+k";
|
|
|
|
"ctrl+l" = vimKittyBinding "right ctrl+l";
|
|
|
|
};
|
2021-08-04 22:30:39 +02:00
|
|
|
settings = {
|
2022-04-05 19:42:51 +02:00
|
|
|
allow_remote_control = "yes";
|
|
|
|
# single_instance = "yes";
|
|
|
|
listen_on = "unix:@mykitty";
|
2024-05-26 16:45:38 +02:00
|
|
|
scrollback_pager = ''nvim -u NONE -c "syntax on" -c 'set ft=man nonumber nolist showtabline=0 foldcolumn=0 laststatus=0' -c "autocmd VimEnter * normal G" -c "map q :qa!<CR>" -c "set clipboard+=unnamedplus" -'';
|
2021-08-04 22:30:39 +02:00
|
|
|
};
|
2020-06-18 16:25:53 +02:00
|
|
|
};
|
2021-08-04 22:30:39 +02:00
|
|
|
|
2025-01-19 14:51:32 +01:00
|
|
|
xdg.configFile."kitty/pass_keys.py".source =
|
|
|
|
"${vimPlugins.nvim-kitty-navigator}/kitty/pass_keys.py";
|
|
|
|
xdg.configFile."kitty/neighboring_window.py".source =
|
|
|
|
"${vimPlugins.nvim-kitty-navigator}/kitty/neighboring_window.py";
|
2020-03-24 00:57:11 +01:00
|
|
|
}
|