{ ... }: { programs.nixvim = { plugins.snacks = { enable = true; settings = { bigfile.enabled = true; bufdelete.enabled = true; gitbrowse.enabled = true; lazygit.enabled = true; statuscolumn = { enabled = true; folds = { open = true; git_hl = true; }; }; }; }; keymaps = [ { mode = "n"; key = "gg"; action = "lua Snacks.lazygit()"; options = { desc = "Open Lazygit"; silent = true; }; } { mode = "n"; key = "go"; action = "lua Snacks.gitbrowse()"; options = { desc = "Open file in browser"; }; } { mode = "n"; key = "gl"; action = "lua Snacks.lazygit.log()"; options = { desc = "Open Lazygit Log (cwd)"; }; } { mode = "n"; key = "c"; action = ''lua Snacks.bufdelete.delete()''; options = { desc = "Close buffer"; }; } { mode = "n"; key = "bc"; action = ''lua Snacks.bufdelete.other()''; options = { desc = "Close all buffers but current"; }; } { mode = "n"; key = "bC"; action = ''lua Snacks.bufdelete.all()''; options = { desc = "Close all buffers"; }; } ]; }; }