Architecture and source
Where the config lives
| Surface | Path |
|---|---|
| Source | home/dot_config/exact_nvim/ |
| Installed target | ~/.config/nvim/ |
| Core | exact_lua/exact_core/ |
| Plugin specs | exact_lua/exact_plugins/ |
| Local plugin loaders | exact_lua/exact_plugins_local/ |
| Local plugin implementations | exact_lua/exact_plugins_local_src/ |
Chezmoi source paths use prefixes such as exact_; installed paths do not. For example:
home/dot_config/exact_nvim/exact_lua/ -> ~/.config/nvim/lua/
home/dot_config/exact_nvim/exact_after/ -> ~/.config/nvim/after/
Leader keys:
mapleaderis space.maplocalleaderis\.
Neovim itself is version-managed by mise:
home/dot_config/mise/config.toml.tmpl(neovim = "0.12.2")
Terminal redraw ownership
When Neovim runs inside tmux, core/options.lua disables Neovim's termsync. Tmux 3.7b does not contain the upstream fix that defers cursor writes while a pane is in synchronized-update mode, so leaving termsync enabled exposes cursor-walk artifacts during floating-window redraws such as Neo-tree. Disabling it restores Neovim's cursor-hide fallback; direct terminal sessions keep Neovim's default synchronized redraw behavior.
Quick start
-
Install the pinned Neovim version:
mise install neovim@0.12.2 -
Apply dotfiles:
chezmoi apply -
Launch Neovim:
nvim -
Open the plugin dashboard:
:PackDashboard
Customization entry points
| Change | Start here |
|---|---|
| Options | core/options.lua |
| Keymaps | core/keymaps.lua |
| Autocmds | core/autocmds.lua |
| Plugin config | plugins/ |
| Local workflows | plugins_local_src/ |
core/ is foundational editor behavior. plugins/ is plugin configuration grouped by topic/language. plugins_local_src/ contains workflow-specific Lua plugins written in this repo.