Skip to main content
The Neovim configuration is called MiniMax — a feature-rich setup built almost entirely on the mini.nvim library, with select external plugins for language support, Git, and debugging.

Architecture

Config files load in numbered order during startup:
~/.config/nvim/
  init.lua             # Bootstrap mini.nvim + MiniDeps
  plugin/
    10_options.lua     # Built-in Neovim behavior
    20_keymaps.lua     # Custom mappings
    30_mini.lua        # Mini module configuration
    40_plugins.lua     # External plugins
  after/
    ftplugin/          # Filetype-specific overrides
    lsp/               # Language server configurations
    snippets/          # Higher priority snippet files
  lua/
    claude-queue/      # Custom Claude Code integration module
  snippets/            # User-defined snippets

Key Options

OptionValue
Leader keySpace
Indent2 spaces (expandtab)
Text width100 columns (adapts to window)
Line numbersRelative
Current lineHighlighted
UndoPersistent across sessions
Fold methodIndent-based
SearchIncremental, smart case
MouseEnabled
DiagnosticsSigns for warnings+, virtual text for errors on current line

Leader Key Groups

All leader mappings follow a two-key pattern: <Space> + group key + action key.
PrefixGroupExamples
<Leader>aAIac toggle Claude, af focus Claude, ar resume
<Leader>bBufferbs scratch, ba alternate, bw wipeout
<Leader>dDebugdb breakpoint, dc continue, di step into
<Leader>eExplore/Edited directory, ef file dir, ei init.lua
<Leader>fFindff files, fg grep live, fh help tags
<Leader>gGitgg Neogit, gd diffview, gc commit
<Leader>lLanguagela actions, lr rename, ls definition
<Leader>mMapKeymap exploration
<Leader>oOctoGitHub PR/issue integration
<Leader>rRequestHTTP client (Hurl)
<Leader>sSessionsn new, sr read, sd delete
<Leader>tTerminalTerminal management
<Leader>vVisitsVisited paths history
<Leader>DDatabaseDadbod UI

General Mappings

ShortcutAction
[p / ]pPaste above / below current line
Ctrl+d / Ctrl+uHalf page down / up (centered)
n / NNext / prev search result (centered)
Ctrl+w zZoom toggle
Ctrl+w rResize to default width
Esc EscTerminal normal mode
Ctrl+h/j/k/lNavigate between windows
Alt+h/j/k/lNavigate in Insert/Command mode

Color Scheme

Uses Zenbones with:
  • Stark darkness setting
  • Transparent background
  • Italic comments
  • Custom desaturated palette (subtle leaf, sky, blossom, rose, water tones)
  • Dark neutral backgrounds (#121212 base)

Plugin Manager

MiniDeps manages all plugins. Two-stage loading is used for startup performance:
  • now() — loads immediately (icons, notifications, statusline, color scheme)
  • later() — deferred until after first screen draw (Git, debugging, formatting, AI tools)
  • now_if_args() — loads immediately only when opening a file (nvim -- file)

External Plugins

Beyond mini.nvim, the config includes:
PluginPurpose
zenbones.nvim + lush.nvimColor scheme
nvim-treesitterSyntax highlighting and textobjects
nvim-lspconfig + mason.nvimLanguage server management
conform.nvimFormat on save (Stylua, Biome, Ruff)
neogit + gitsigns + diffviewGit interface
octo.nvimGitHub PRs and issues
hurl.nvimHTTP client
nvim-dap + nvim-dap-uiDebugging (JS, Go)
claudecode.nvimClaude Code integration
vim-dadbod + vim-dadbod-uiDatabase client

LSP Servers

Configured and auto-installed via Mason:
ServerLanguages
ts_lsTypeScript / JavaScript (skipped in Deno projects)
denolsDeno
lua_lsLua (disabled by default, enable via <Leader>lm)
astroAstro
biomeJS/TS/JSON/CSS/HTML linting
yamllsYAML