Skip to content

feat: post-merge WIP + non-Nix friendliness + nix-providers integration#5

Merged
vanillacake369 merged 10 commits into
mainfrom
fix/post-merge-wip-and-friendliness
Jun 1, 2026
Merged

feat: post-merge WIP + non-Nix friendliness + nix-providers integration#5
vanillacake369 merged 10 commits into
mainfrom
fix/post-merge-wip-and-friendliness

Conversation

@vanillacake369

Copy link
Copy Markdown
Owner

Summary

10 commits:

Session improvements (post tonys-nix #3 merge):

  • fix(lsp): neutral "not found in PATH" install message
  • fix(clangd): --query-driver expanded for Apple Silicon Homebrew + non-Nix Linux
  • docs(readme): Prerequisites + LOMBOK_JAR
  • fix(init): dofile guard for tonys-nix-emitted nix-providers.lua

User WIP:

  • feat(plugins): rustaceanvim + neotest + other.nvim alternate + harpoon
  • feat(snippets): friendly-snippets JSON sets (c/go/java/kotlin/nix/python/rust)
  • feat(keymaps): keymap registry expansion (+181 lines)
  • refactor(code-runner): execution flow rework (+133 lines)
  • chore: jdtls gradle daemon arg + treesitter/finder/preview/remember-session tweaks
  • chore(plugins): fix 'seperator' typo in other.nvim opts (caught by typos workflow)

Outstanding (orphan files post-tonys-nix)

init.user.lua / init.lua.back 정리는 사용자가 home-manager switch 실행 후 별도 commit. tonys-nix main이 이미 4441c53 (split-providers fix)으로 정착되어 안전.

Test plan

  • CI 5/5 green (typos / nvim-test / lua-quality / security / GitGuardian)

The previous "Install via nix." message was nix-centric and confusing
for users running this config on macOS Homebrew, Debian, or Windows.
Switch to a portable hint that lists common package managers.
clangd treats --query-driver as an allow-list of compiler paths, not an
ordered priority list. Add fallbacks that the previous Nix-only globs
left uncovered:

- /opt/homebrew/bin/{clang,gcc} for Apple Silicon Homebrew (the most
  common modern macOS dev environment outside Xcode CLT)
- /usr/bin/gcc, /usr/local/bin/gcc for non-Nix Linux

Missing paths are silently ignored by clangd so listing them is safe
on systems where they do not exist.
- Add explicit Prerequisites section listing nvim >= 0.10, git, and a
  C compiler (required for nvim-treesitter runtime parser compilation
  when no Nix-bundled grammars are present).
- Add platform-specific install snippets for macOS, Debian/Ubuntu, and
  Nix (via tonys-nix).
- Document the LOMBOK_JAR env-var override path for non-Nix Java users
  who want Lombok support without the bundled lombok wrapper script.
- lua/plugins/core/rust.lua: rustaceanvim for rust-analyzer LSP,
  runnables/debuggables, built-in neotest adapter.
- lua/plugins/core/test.lua: neotest runner with adapters for Java
  (Gradle/Maven), Go, Python (pytest); rustaceanvim auto-loads its own.
- lua/plugins/navigation/alternate.lua: source <-> test navigation via
  other.nvim file pattern matching.
- lua/plugins/navigation/harpoon.lua: ThePrimeagen/harpoon for bookmark
  + quick-jump file navigation.

lazy-lock.json bumped with the new plugins (harpoon, FixCursorHold,
neotest, rustaceanvim, other.nvim).
Language-specific snippet collections for: c, go, java, kotlin, nix,
python, rust. Plus a package.json manifest for friendly-snippets
discovery.
Add keymap groups for the newly introduced plugins and a few rebinds
across LSP, code, navigation, debug, and harpoon flows.
Restructure code execution UI with expanded language/runtime support
and improved buffer presentation.
- lsp.lua: jdtls --jvm-arg -Dorg.gradle.daemon.idletimeout=300000
  to keep Gradle daemons alive between project builds.
- treesitter.lua: minor additions.
- finder.lua: drop nvim-0.11 branch on vim.print/_G.dd.
- remember-session.lua, preview.lua: small option tweaks.
Caught by typos workflow. Correct key spelling is 'separator'.
When the config is used together with tonys-nix
(github:vanillacake369/tonys-nix), home-manager's programs.neovim no
longer writes ~/.config/nvim/init.lua. Provider host paths
(vim.g.python3_host_prog etc.) instead live in a separate file emitted
by tonys-nix at ~/.config/nvim/nix-providers.lua.

Add a fs_stat guard so:
- Nix users: nix-providers.lua exists -> dofile -> providers pinned to
  the Nix-managed python3+pynvim path.
- non-Nix users: file absent -> no-op -> nvim falls back to PATH-based
  provider detection.
@vanillacake369 vanillacake369 merged commit 4d04786 into main Jun 1, 2026
6 checks passed
@vanillacake369 vanillacake369 deleted the fix/post-merge-wip-and-friendliness branch June 1, 2026 05:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant