Neovim / editor
Small core. Room to grow.
The Neovim configuration is a separate submodule with a predictable startup path: core behavior first, plugins through lazy.nvim, then theme and custom interface components.
Startup path
Know where a change belongs.
Configuration is split by responsibility, so editor options and mappings do not have to live beside plugin specifications.
Editor behavior
Options, mappings, custom commands and events are loaded from small modules.
lazy.nvim
Plugin specs declare triggers, dependencies and configuration close to the plugin itself.
Theme & winbar
A shared palette and a custom winbar complete the interface after the core is ready.
Everyday workflow
Navigate, edit, understand.
Find your way
Telescope, fzf-lua and a file explorer cover different navigation styles.
Language support
LSP and Mason configure language tools; formatter and linter rules stay explicit.
Terminal-aware splits
smart-splits links editor navigation and resizing with WezTerm panes.
init.lua ├── myconf.core │ ├── editor │ ├── mappings │ ├── cmd │ └── events ├── myconf.lazy │ └── plugin specs ├── myconf.theme └── myconf.ui.winbar
Documentation
The detailed map lives in the guide.
It covers bootstrap, plugin loading, UI, search, LSP, and where to add a new module. The guide is a readable snapshot of the submodule README.
Versioned separately
The dotfiles repository records a pointer to the Neovim repository. To update both, commit Neovim changes in that repository first, then update the pointer in dotfiles.
Latest source README