Skip to content
NoetherVim is alpha. Breaking changes land without deprecation shims. These docs track main.

Configuration

Open ~/.config/nvim/init.lua and uncomment the bundles you want in the spec table. Each import path is noethervim.bundles.<category>.<name>:

-- inside require("lazy").setup({ spec = { ... } })
{ import = "noethervim.bundles.languages.latex" },
{ import = "noethervim.bundles.tools.debug" },
{ import = "noethervim.bundles.tools.git" },

All bundles are opt-in - the core is fully functional with none enabled. See Bundles for the full list.

Drop plugin specs in ~/.config/nvim/lua/user/plugins/. Any .lua file there is auto-imported by lazy.nvim. To override an existing plugin’s settings, use the same repository string - lazy.nvim deep-merges opts automatically:

-- ~/.config/nvim/lua/user/plugins/snacks.lua
return {
{ "folke/snacks.nvim",
opts = { picker = { layout = { preset = "vertical" } } },
},
}

For array-valued opts (ensure_installed, formatters_by_ft, etc.), the function-form opts, and adding extra keys/cmd/event triggers, see :help noethervim-user-plugins.

Plugins deliberately left out of the distribution (AI completion, translation, AI code actions, lighter jump motions) have copy-paste specs and the reasoning behind each omission in docs/user-config-examples.md. For scaffolding your own files, run :NoetherVim templates inside Neovim.

NoetherVim loads user override files after each core module. Create any of these in ~/.config/nvim/lua/user/:

File What it overrides
options.lua vim.o / vim.g settings
keymaps.lua Keymaps (add, change, or remove)
autocmds.lua Autocommands
highlights.lua Highlight groups (runs after colorscheme)
lsp/<server>.lua Per-server LSP settings
config.lua Config data table: vault paths, feature flags, filetype lists (:help noethervim-user-config-data)

Template files are provided in templates/user/ in the installed distro - copy the ones you want and uncomment the relevant lines. The fastest way to grab one is :NoetherVim templates (or SearchLeader+ct): pick a template and press <C-y> to write it into lua/user/. A diff prompt shows the change first, y or <CR> accepts, and the new file opens for editing.

Your config ends up laid out like this:

~/.config/nvim/
├── init.lua ← lazy.setup() entry - enable bundles here
└── lua/
└── user/
├── plugins/ ← your plugins and opts overrides on distro plugins
├── options.lua ← vim.o / vim.g overrides
├── keymaps.lua ← keymap overrides and additions
├── autocmds.lua ← autocommand additions
├── highlights.lua ← highlight overrides (runs after colorscheme)
├── lsp/ ← per-server LSP overrides
└── config.lua ← data table (vault paths, filetype lists, flags)

For the full override system reference, see :help noethervim-user-config.