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.

01 / CORE

Editor behavior

Options, mappings, custom commands and events are loaded from small modules.

02 / PLUGINS

lazy.nvim

Plugin specs declare triggers, dependencies and configuration close to the plugin itself.

03 / INTERFACE

Theme & winbar

A shared palette and a custom winbar complete the interface after the core is ready.

Everyday workflow

Navigate, edit, understand.

01

Find your way

Telescope, fzf-lua and a file explorer cover different navigation styles.

02

Language support

LSP and Mason configure language tools; formatter and linter rules stay explicit.

03

Terminal-aware splits

smart-splits links editor navigation and resizing with WezTerm panes.

configuration map
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.

SUBMODULE

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