{ ... }: { programs.nixvim.plugins = { smart-splits = { enable = true; }; }; programs.nixvim.keymaps = [ { action.__raw = "require('smart-splits').move_cursor_left"; key = "h"; mode = "n"; } { action.__raw = "require('smart-splits').move_cursor_right"; key = "l"; mode = "n"; } { action.__raw = "require('smart-splits').move_cursor_down"; key = "j"; mode = "n"; } { action.__raw = "require('smart-splits').move_cursor_up"; key = "k"; mode = "n"; } { action.__raw = "require('smart-splits').resize_left"; key = "h"; mode = "n"; } { action.__raw = "require('smart-splits').resize_right"; key = "l"; mode = "n"; } { action.__raw = "require('smart-splits').resize_down"; key = "j"; mode = "n"; } { action.__raw = "require('smart-splits').resize_up"; key = "k"; mode = "n"; } { action = "silent !kitten @ launch --location=hsplit"; key = "s"; mode = [ "n" "v" "i" ]; } { action = "silent !kitten @ launch --location=vsplit"; key = "v"; mode = [ "n" "v" "i" ]; } { action = "silent !kitten @ launch --location=hsplit --cwd=current --bias=35"; key = "p"; mode = [ "n" "v" "i" ]; } { action = "silent !kitten @ close-window"; key = "q"; mode = [ "n" "v" "i" ]; } { action = "silent !kitten @ action layout_action rotate"; key = "r"; mode = [ "n" "v" "i" ]; } { action = "silent !kitten @ action toggle_layout stack"; key = "f"; mode = [ "n" "v" "i" ]; } ]; }