feat(neovim): replace vim-kitty-navigator with nvim-kitty-navigator

This commit is contained in:
Felix Schröter 2022-04-05 19:42:51 +02:00
parent f11982427b
commit 9d12f12a98
Signed by: felschr
GPG key ID: 671E39E6744C807D
4 changed files with 41 additions and 15 deletions

View file

@ -84,6 +84,22 @@
"type": "github"
}
},
"nvim-kitty-navigator": {
"flake": false,
"locked": {
"lastModified": 1648739869,
"narHash": "sha256-dgu9ug0R9dbu5QyuNXJ6E/Gv2ruoYsefPc23iWI6eVc=",
"owner": "hermitmaster",
"repo": "nvim-kitty-navigator",
"rev": "16574acb6e5d8b47f0da535dc391cac541163e87",
"type": "github"
},
"original": {
"owner": "hermitmaster",
"repo": "nvim-kitty-navigator",
"type": "github"
}
},
"nvim-lspfuzzy": {
"flake": false,
"locked": {
@ -130,6 +146,7 @@
"nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs",
"nur": "nur",
"nvim-kitty-navigator": "nvim-kitty-navigator",
"nvim-lspfuzzy": "nvim-lspfuzzy",
"pre-commit-hooks": "pre-commit-hooks"
}

View file

@ -30,8 +30,13 @@
flake = false;
};
inputs.nvim-kitty-navigator = {
url = "github:hermitmaster/nvim-kitty-navigator";
flake = false;
};
outputs = { self, nixpkgs, nixos-hardware, flake-utils, home-manager, nur
, pre-commit-hooks, nvim-lspfuzzy }@inputs:
, pre-commit-hooks, nvim-lspfuzzy, nvim-kitty-navigator }@inputs:
let
overlays = {
neovim = self: super:
@ -46,6 +51,8 @@
in {
vimPlugins = super.vimPlugins // {
nvim-lspfuzzy = buildVimPlugin "nvim-lspfuzzy" nvim-lspfuzzy;
nvim-kitty-navigator =
buildVimPlugin "nvim-kitty-navigator" nvim-kitty-navigator;
};
};
deconz = self: super: {

View file

@ -34,6 +34,7 @@ in {
nvim-autopairs
camelcasemotion
luasnip
nvim-kitty-navigator
nvim-cmp
cmp-path

View file

@ -1,29 +1,30 @@
{ config, pkgs, lib, ... }:
with pkgs;
with lib;
let
yamlToJSON = path:
runCommand "yaml.json" { nativeBuildInputs = [ pkgs.ruby ]; } ''
ruby -rjson -ryaml -e "puts YAML.load(ARGF).to_json" < ${path} > $out
'';
in {
with lib; {
# kitty
programs.kitty = {
enable = true;
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";
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";
};
settings = {
allow_remote_control = "yes";
# single_instance = "yes";
listen_on = "unix:@mykitty";
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}/pass_keys.py";
"${vimPlugins.nvim-kitty-navigator}/kitty/pass_keys.py";
xdg.configFile."kitty/neighboring_window.py".source =
"${vimPlugins.vim-kitty-navigator}/neighboring_window.py";
"${vimPlugins.nvim-kitty-navigator}/kitty/neighboring_window.py";
}