{ programs.nixvim = { plugins.smart-splits = { enable = true; settings = { ignored_events = [ "BufEnter" "WinEnter" ]; resize_mode = { quit_key = ""; resize_keys = [ "h" "j" "k" "l" ]; silent = true; }; }; }; keymaps = [ { action = "lua require('smart-splits').resize_left()"; key = ""; options = { desc = "Resize split to the left"; }; } { action = "lua require('smart-splits').resize_down()"; key = ""; options = { desc = "Resize split downwards"; }; } { action = "lua require('smart-splits').resize_up()"; key = ""; options = { desc = "Resize split upwards"; }; } { action = "lua require('smart-splits').resize_right()"; key = ""; options = { desc = "Resize split to the right"; }; } { action = "lua require('smart-splits').move_cursor_left()"; key = ""; options = { desc = "Move cursor to the left split"; }; } { action = "lua require('smart-splits').move_cursor_down()"; key = ""; options = { desc = "Move cursor to the downward split"; }; } { action = "lua require('smart-splits').move_cursor_up()"; key = ""; options = { desc = "Move cursor to the upward split"; }; } { action = "lua require('smart-splits').move_cursor_right()"; key = ""; options = { desc = "Move cursor to the right split"; }; } { action = "lua require('smart-splits').move_cursor_previous()"; key = ""; options = { desc = "Move cursor to the previous split"; }; } { action = "lua require('smart-splits').swap_buf_left()"; key = "h>"; options = { desc = "Swap buffer to the left"; }; } { action = "lua require('smart-splits').swap_buf_down()"; key = "j>"; options = { desc = "Swap buffer downwards"; }; } { action = "lua require('smart-splits').swap_buf_up()"; key = "k>"; options = { desc = "Swap buffer upwards"; }; } { action = "lua require('smart-splits').swap_buf_right()"; key = "l>"; options = { desc = "Swap buffer to the right"; }; } ]; }; }