nixvim: expand keymaps and snacks picker integration

- Add mkExpr helper and use it for j/k screen-line movement
- Add native LSP keymaps (gd, grr, gri, grt, grn, gra, gO) alongside Glance previews (gD, gR, gM, gY)
- Add Trouble toggles for qflist, loclist, symbols, LSP panes
- Add quickfix/loclist navigation (]q/[q/]l/[l)
- Add alternate file shortcuts (<leader><leader>, <leader>w-)
- Add Snacks picker keymaps for LSP symbols, registers, jumps, qflist, loclist
- Add opts (jumpoptions=stack, switchbuf) to programs.nixvim
- Integrate Trouble into Snacks picker via <C-t> action
- Minor formatting cleanup in snacks.nix

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
This commit is contained in:
2026-03-29 05:02:58 +09:00
co-authored by Claude Sonnet 4.6
parent cb2f1837f3
commit 22dc4b9f74
2 changed files with 156 additions and 92 deletions
+20 -3
View File
@@ -1,9 +1,26 @@
{ pkgs, ... }: {
{pkgs, ...}: {
programs.nixvim = {
extraPlugins = [ pkgs.vimPlugins.snacks-nvim ];
extraPlugins = [pkgs.vimPlugins.snacks-nvim];
extraConfigLua = ''
require("snacks").setup({
picker = { enabled = true },
picker = {
enabled = true,
actions = require("trouble.sources.snacks").actions,
win = {
input = {
keys = {
["<C-t>"] = {
"trouble_open",
mode = { "n", "i" },
},
},
},
},
},
notifier = { enabled = true },
words = { enabled = true },
scroll = { enabled = true },