3.1 KiB
🌌 Whipsmart Neovim (4rc0s/whipsmart.nvim)
This is the Grand Unified Neovim configuration for all my machines, built on the Neovim 0.12+ native vim.pack system with a modern modular architecture.
🚀 Native Package Workflow (0.12+)
We use pack-manager.nvim for a Lazy-like UI experience:
<leader>pm: Open the Package Manager Menu.- From the menu, you can Update, Install, or Manage plugins.
Low-level access:
<leader>ps: Sync (Fetch updates via nativevim.pack.update()).<leader>pi: Inspect (Native offline status).
🏗️ Modular Architecture
Plugin configurations are split into logically organized files in lua/plugins/:
pack_manager.lua: Thepack-manager.nvimUI wrapper.core_ui.lua: UI enhancements (Colorscheme, Gitsigns, Mini, etc.).telescope.lua: Fuzzy finding and LSP navigation.lsp.lua: Language Server Protocol and Mason setup.cmp.lua: Autocompletion and Snippets.treesitter.lua: Syntax highlighting and parsing.format.lua: Auto-formatting viaconform.nvim.
Modules are loaded in this explicit order from init.lua (Section 2).
Opt-in extras live in lua/whipsmart/plugins/ and are not loaded by default.
To enable one, require it from a file in lua/custom/plugins/:
-- lua/custom/plugins/debug.lua
require 'whipsmart.plugins.debug'
Available extras: autopairs, debug (DAP/Go), gitsigns (extended keymaps),
indent_line, lint, neo-tree.
💻 Machine Detection
We use vim.uv.os_gethostname() in init.lua to toggle settings.
Current machines:
- vera: (Primary Linux workstation) - High-res font, full LSP suite.
🗺️ The Grand Unified Roadmap
- Rename project to whipsmart.nvim.
- Refactor into a modular architecture.
- Install
pack-manager.nvimfor an ergonomic frontend. - Complete rebrand — remove all
kickstart-*augroup names and namespaces. - Fix
lua/custom/plugins/loading (was silently never called). - Explicit plugin load order in
init.lua. - Decouple Mason package names from lspconfig server names.
- Document LSP server setup and opt-in extras workflow.
- Merge legacy plugins from other machine forks.
- Add machine-specific UI toggles for terminal vs. GUI Neovim.
- Centralize snippet collections.
🛠️ Git Maintenance
- Origin:
https://github.com/4rc0s/whipsmart.nvim
This project has diverged significantly from its kickstart.nvim origin in architecture and philosophy. Upstream syncing from kickstart.nvim is no longer applicable — whipsmart.nvim is its own project.
Tracking Key Upstream Dependencies
pack-manager.nvim (https://github.com/mplusp/pack-manager.nvim) is the
UI layer over vim.pack and the most architecturally significant third-party
dependency. Watch this repo for new features, API changes, and bug fixes.
To pick up an improvement:
- Check the pack-manager.nvim releases/commits for relevant changes.
- Run
<leader>psto pull the latest revision and updatenvim-pack-lock.json. - Commit the updated lockfile to pin the new version.