neovim: slice 3 — QoL plugins + python stack (#19) #28
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "issue-19-nixvim-slice-3-python"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Slice 3 per issue feedback (comment 653). Two new plugin files wired into
users/modules/neovim/plugins/; issue #19 reopened first since it was closed by mistake.QoL batch —
plugins/qol.nix<leader>ftwork, and adds<leader>xt(trouble view of todos).<leader>aninside a func generates its docstring (<leader>a*stays CodeCompanion's, no clash).theme = "auto"(follows cyberdream),globalstatus = true.autoInstallpulls the binaries from Nix: shellcheck (sh/bash/zsh), hadolint (Dockerfile), yamllint (yaml). No format-on-save anywhere — formatting stays manual<leader>cf.<leader>xxworkspace diagnostics,<leader>xXbuffer,<leader>xq/<leader>xlquickfix/loclist,<leader>cssymbols,<leader>clLSP list.<M-e>fast-wrap. Tab stays with cmp; no snippet-jump theft.indentrenderer disabled insnacks/default.nixso ibl owns the guides (double-draw otherwise).Python stack —
plugins/python.nix<leader>cfformat on py files.<leader>duUI,<leader>drREPL. dap-python brings its own debugpy from Nix; nothing is pip-installed, no venv needed.<leader>ttrun under cursor,<leader>tTrun file,<leader>tllast,<leader>tooutput panel,<leader>tssummary,<leader>tadebug-run via dap strategy. Failures land in quickfix (<leader>xqreads it via trouble). Adapter needspytestimportable → a Nixpython3.withPackages [ pytest ]added toextraPackages(your own devshell python still shadows it via PATH order).Verification
Every plugin/server option cross-checked against the nixvim rev pinned in
flake.lock(5b912bd8): all seven QoL modules +dap/dap-ui/dap-virtual-text/dap-python/neotestare by-name modules at that rev;pyright/ruffare generated lspconfig servers with Nix auto-packages there. Trouble command names/modes taken from trouble.nvim README; neotest keymaps use the documented Lua API (run_last,run(file), dap strategy) rather than guessing CLI subcommands.Not build-verified from my side (no nix where I run) —
nix run/home-manager switchwill tell you fast; every option is module-level, no raw plugin configs that could drift.One simple bug to look into
@ -0,0 +12,4 @@enable = true;# `<leader>xt` opens the trouble view of todos (x = trouble group);# telescope keeps <leader>ft; <leader>t* is reserved for neotest.keymaps.todoTrouble = "<leader>xt";Only problem I've found in building.
Fixes the option type error rpickler hit building the slice: keymaps.todoTrouble expects a null-or-submodule {key,mode,options} shape (verified against nixvim rev 5b912bd8), so assign the table with the <leader>xt key and a which-key desc instead of a bare string.Fixed in
6321548—keymaps.todoTroubleis a keymap submodule (null or (submodule)withkey/mode/options), not a bare string, in the pinned nixvim rev (5b912bd8). Changed to:Checked the other new keymaps against the same rev: neogen
keymaps.generateis genuinely a plainstrthere, and the rest are plainkeymaps = [ … ]entries, so this was the only one with the submodule shape. trouble is enabled in this slice, so the plugin assertion guarding the integration passes too.