{ pkgs, ... }: {
programs.neovim = {
plugins = [{
plugin = pkgs.vimUtils.buildVimPlugin {
name = "kitty-scrollback.nvim";
# TODO: use the kitty-scrollback.nvim from nixpkgs when it reachs 8.0.0
src = pkgs.npinsed.kitty-scrollback-nvim;
};
type = "lua";
config = /*lua*/''
require('kitty-scrollback').setup()
'';
}];
};
programs.kitty.extraConfig = ''
# kitty-scrollback.nvim Kitten alias
action_alias kitty_scrollback_nvim kitten '${pkgs.npinsed.kitty-scrollback-nvim}/python/kitty_scrollback_nvim.py'
# Browse scrollback buffer in nvim
map kitty_mod+h kitty_scrollback_nvim
# Browse output of the last shell command in nvim
map kitty_mod+g kitty_scrollback_nvim --config ksb_builtin_last_cmd_output
# Show clicked command output in nvim
mouse_map ctrl+shift+right press ungrabbed combine : mouse_select_command_output : kitty_scrollback_nvim --config ksb_builtin_last_visited_cmd_output
'';
}