Modules and scopes
init.lua calls require("autovim").setup(). That loads lua/autovim/init.lua, which connects the scopes. A module is one Lua file; a scope groups ownership of related behaviour.
| Scope | Owns |
|---|---|
core | Editor-wide options, commands, and shared normal/terminal shortcuts. |
workspace | Explicit root per tab and standalone-file context. |
explorer | Tree browsing, picker selection, scanners, and search ranking. |
sidebar | Activity rail, tool-window placement, and shared-panel visibility. |
terminal | Shell buffers and process lifetime. |
harpoon / undo | Plugin adapters and panel-specific interactions. |
ui / colors | Editor bars, theme, and highlight groups. |
lsp | Server specs, installation, client lifecycle, diagnostics, and completion. |
plugins | lazy.nvim bootstrap, version choices, and loading rules. |
dashboard | Menu lifecycle, responsive drawing, animation, and greeting. |
Keeping the window owner separate from the shell owner is what lets a panel close without stopping its terminal process. File browsing similarly cannot redefine workspace state by itself.
Plugin loading rules
| Plugin / component | When loaded |
|---|---|
| Tree-sitter | Startup, as required by the compatible master branch. The deliberate eager-loading exception. |
| Telescope / Undotree | On demand through their commands or tool actions. |
| Harpoon 2 | After the initial screen, to restore persisted pins. |
| Mason | A supported language file or a server-manager command. |
| nvim-cmp and completion sources | Insert mode. |
The lockfile contains 11 pinned repositories. :Lazy restore restores those commits. :Lazy update intentionally changes plugin versions and the lockfile. Mason's registry/server pins are separate from plugin pins; review both when upgrading.
Where to customize
dashboard/config.lua: greeting, eye/gear colours, timing, and menu entries.core/options.luaandcore/keymaps.lua: global options and shared shortcuts.ui/theme.lua: editor, Tree-sitter, and plugin highlights.lsp/servers.lua: filetypes, server versions, project markers, and settings.plugins/specs.lua: loading rules and parser list.
Lua's require caches modules. Restart Neovim after editing module files; sourcing the root init.lua alone does not clear that cache. The dashboard's config button opens the active installation, which may differ from a repository checkout.
Browse the exact release source
These 29 Lua files are extracted from the same 0.1.0-alpha ZIP offered on Downloads. They are a release snapshot, not a live view of an installed configuration.
No modules match.
Module source loads locally in your browser.
Select a module from the list.