A launch point for your personal nvim configuration
Go to file
Geoff Cheshire 64ff5eb6a3 refactor: complete whipsmart.nvim rebrand and architecture cleanup
- Rename lua/kickstart/ -> lua/whipsmart/ (health check, opt-in extras)
- Replace doc/kickstart.txt with doc/whipsmart.txt; regenerate help tags
- Rename all kickstart-* augroups to whipsmart-* in lsp.lua and telescope.lua
- Fix missed kickstart-lsp-highlight reference in nvim_clear_autocmds
- Wire up custom/plugins loading (was silently never called)
- Replace implicit glob plugin loader with explicit ordered list in init.lua
- Remove dead mason-lspconfig dependency (unused with 0.12 native LSP)
- Simplify format.lua format_on_save to a clear user-editable ft table

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-10 13:49:52 -04:00
.github Update the github actions 2026-02-28 11:29:58 +02:00
doc refactor: complete whipsmart.nvim rebrand and architecture cleanup 2026-05-10 13:49:52 -04:00
lua refactor: complete whipsmart.nvim rebrand and architecture cleanup 2026-05-10 13:49:52 -04:00
.gitignore feat: setup unified config with vim.pack keymaps and hostname detection 2026-05-10 11:38:47 -04:00
.stylua.toml fix: trimming down config and updating stylua 2026-01-27 12:00:59 -05:00
LICENSE.md license 2022-06-25 21:51:44 -04:00
README.md chore: finalize README and lockfile after pack-manager installation 2026-05-10 13:31:24 -04:00
UNIFIED.md refactor: transition to modular whipsmart.nvim architecture with pack-manager 2026-05-10 13:27:32 -04:00
init.lua refactor: complete whipsmart.nvim rebrand and architecture cleanup 2026-05-10 13:49:52 -04:00
nvim-pack-lock.json chore: finalize README and lockfile after pack-manager installation 2026-05-10 13:31:24 -04:00

README.md

🌌 Whipsmart.nvim

Whipsmart.nvim is a modular, native-first Neovim configuration built on top of the Neovim 0.12+ vim.pack system. It evolved from kickstart.nvim into a modular, machine-aware "Grand Unified" configuration.

Features

  • Modular Architecture: Plugin configurations are isolated in lua/plugins/*.lua.
  • Native-First: Leverages Neovim 0.12's built-in vim.pack for plugin management and native LSP/Autocomplete improvements.
  • Ergonomic Dashboard: Includes pack-manager.nvim to provide a polished, Lazy-like UI on top of native primitives.
  • Machine Awareness: Built-in hostname detection in init.lua for machine-specific overrides.
  • Version Pinning: Uses nvim-pack-lock.json for reproducible environments across all your hardware.

🚀 Quick Start

1. Prerequisites

Ensure you are running Neovim 0.12+ (nightly or latest stable). You will also need:

2. Installation

# Clone your fork (replace <your_username> with your GitHub handle)
git clone https://github.com/<your_username>/whipsmart.nvim.git ~/.config/nvim

# Start Neovim
nvim

🛠️ Package Management

Whipsmart provides two ways to manage your plugins:

The "Lazy" Way (High-Level UI)

Press <leader>pm to open the Package Manager Menu. This dashboard allows you to:

  • Check for updates
  • Install new plugins
  • Disable/Enable existing plugins
  • Clean up unused packages

The "Native" Way (Low-Level Access)

Whipsmart also exposes the raw vim.pack primitives:

  • <leader>ps: Sync (Triggers vim.pack.update() to fetch new metadata).
  • <leader>pi: Inspect (View current plugin status offline).
  • :w: Inside the update buffer, write to disk to apply changes.

🏗️ Project Layout

~/.config/nvim/
├── init.lua                # Core options, keymaps, and modular loader
├── UNIFIED.md              # The Grand Unified roadmap and local instructions
├── nvim-pack-lock.json     # Plugin lockfile (Tracked in Git)
└── lua/
    └── plugins/            # Individual plugin modules
        ├── core_ui.lua     # Which-key, Colorscheme, Oil, Mini.nvim
        ├── lsp.lua         # LSP, Mason, and Tooling
        ├── telescope.lua   # Fuzzy Finding
        ├── cmp.lua         # Autocompletion and Snippets
        ├── treesitter.lua  # Syntax Highlighting
        ├── format.lua      # Conform.nvim Formatting
        └── pack_manager.lua # pack-manager.nvim UI setup

💻 Customization

Adding a New Plugin

To add a plugin, create a new .lua file in lua/plugins/. Whipsmart will automatically detect and load it.

Example lua/plugins/harpoon.lua:

vim.pack.add({ "https://github.com/ThePrimeagen/harpoon" })
-- Your configuration here

Machine-Specific Settings

Whipsmart uses hostname detection. Open init.lua and locate the Machine Specific Setup section to add overrides for your specific hardware.

📜 Credits

Whipsmart started as a fork of kickstart.nvim and maintains its spirit of being a starting point rather than a distribution.