feat(terminal): switch to kitty

This commit is contained in:
Felix Schröter 2021-08-04 22:30:39 +02:00
parent 07fa38bdf8
commit e6a9e1e60c
No known key found for this signature in database
GPG key ID: 910ACB9F6BD26F58

View file

@ -8,25 +8,22 @@ let
ruby -rjson -ryaml -e "puts YAML.load(ARGF).to_json" < ${path} > $out
'';
in {
# doesn't yet support font ligatures & undercurls
programs.alacritty = {
programs.kitty = {
enable = true;
package = runCommand "alacritty" { buildInputs = [ makeWrapper ]; } ''
mkdir $out
ln -s ${alacritty}/* $out
rm $out/bin
makeWrapper ${tabbed}/bin/tabbed $out/bin/alacritty \
--add-flags "-c -n Alacritty" \
--add-flags "${alacritty}/bin/alacritty --embed"
'';
settings = recursiveUpdate {
key_bindings =
# disable font size bindings
map (key: {
inherit key;
mods = "Control";
action = "ReceiveChar";
}) [ "Key0" "Equals" "NumpadAdd" "NumpadSubtract" "Minus" ];
} (trivial.importJSON (yamlToJSON ./alacritty-vscode.yml));
keybindings = {
"ctrl+j" = "kitten pass_keys.py neighboring_window bottom ctrl+j";
"ctrl+k" = "kitten pass_keys.py neighboring_window top ctrl+k";
"ctrl+h" = "kitten pass_keys.py neighboring_window left ctrl+h";
"ctrl+l" = "kitten pass_keys.py neighboring_window right ctrl+l";
};
settings = {
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" -'';
};
};
xdg.configFile."kitty/pass_keys.py".source =
"${vimPlugins.vim-kitty-navigator}/share/vim-plugins/vim-kitty-navigator/pass_keys.py";
xdg.configFile."kitty/neighboring_window.py".source =
"${vimPlugins.vim-kitty-navigator}/share/vim-plugins/vim-kitty-navigator/neighboring_window.py";
}