Neovim is the core editor in Salchipapa.Dots. The configuration is built on top of LazyVim — a pre-configured Neovim distribution — with a curated layer of custom plugins covering AI coding assistants, a buffer-based file manager, fuzzy finding, a DAP debugger, Obsidian note-taking, and a deep bench of colorschemes. Everything is managed by lazy.nvim and activated through a single symlink.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/erickm13/Salchipapa.Dots/llms.txt
Use this file to discover all available pages before exploring further.
Installation
Symlink the Neovim config directory into~/.config/nvim:
install.sh) handles this automatically. After symlinking, plugins are synced headlessly:
Entry point
init.lua is the first file Neovim loads. It runs two require calls in order:
config.nodejs must run before config.lazy so that vim.g.node_host_prog is set before any LSP servers or AI plugins attempt to spawn a Node process.
Config structure
Node.js path resolution
nodejs.lua runs a priority-ordered search for a system-level Node.js binary before any plugin is loaded. This prevents LSP servers and AI tools from accidentally picking up a project-local Node version (e.g., one set by .nvmrc) that may be too old.
The search order is:
WARN-level notification is shown with upgrade instructions tailored to the detected package manager (Homebrew, Volta, NVM, or Nix).
Two user commands are registered for diagnostics:
| Command | Description |
|---|---|
:NodeInfo | Print the resolved Node path and version |
:NodeRefresh | Re-run the resolver and print info |
:NodeDebug | Enable verbose debug output and re-run |
LazyVim extras enabled
lazy.lua imports the following LazyVim extra modules in addition to custom plugins:
| Category | Extra |
|---|---|
| Editor | harpoon2, mini-files, snacks_picker, editor.mini-diff |
| Debugging | dap.core |
| Language | lang.typescript, lang.typescript.biome, lang.clangd, lang.json, lang.markdown |
| Formatting | formatting.prettier |
| Linting | linting.eslint |
| Coding | coding.mini-surround, coding.blink |
| Utility | util.mini-hipatterns |
| AI | ai.copilot |
WSL clipboard
When running inside WSL2, Neovim useswin32yank.exe as the clipboard provider:
Autocommands
Two autocommands are set inautocmds.lua to maintain transparency across all terminal windows and colorscheme changes:
TermOpen— setswinhighlighttoNormal:Normal,NormalFloat:Normalon every terminal buffer that opens (including claude-code and lazygit terminals).ColorScheme— clears the background ofSnacksNormalandSnacksNormalFloathighlight groups after any colorscheme switch, keeping snacks.nvim popups transparent.
Explore further
Plugins
Full catalogue of every plugin — AI, completion, file navigation, debugging, and more.
Keymaps
All custom key mappings: tmux navigation, Obsidian, oil, grep, and cowboy mode.
Colorschemes
20+ pre-configured colorschemes with transparent backgrounds. Default: Solarized Osaka.
AI Integrations
Avante, CopilotChat, CodeCompanion, Gemini CLI, and Claude Code details.