Portable base config with personal local overrides.
This config is organized around a shared public baseline and a private local override layer.
lua/config/defaults.luacontains the public defaultslua/config/local.luais private and machine-specificlua/config/local.example.luais the template for public overrideslua/accessor.luamerges defaults with local overrides
Most optional plugin setup in after/plugin is guarded so missing plugins fail softly instead of crashing startup.
Core:
- Neovim >= 0.12
- git
- curl or wget
- unzip
- tar (GNU tar preferred for some install flows)
- gzip
- a C compiler
- tree-sitter CLI
- ripgrep
Common optional helpers:
- node / npm
- python3
- swift
- jq
- d2
- java / graphviz / plantuml
Some workflows in this config are personal and require extra local setup.
The default assumptions are macOS-oriented, but Linux works through local overrides.
The main system helpers are configured under M.bin:
openpbcopypbpastetrash
On Linux, override them in lua/config/local.lua. Example Wayland setup:
M.bin = {
open = "xdg-open",
pbcopy = "wl-copy",
pbpaste = "wl-paste",
trash = "trash-put",
}