Dependencies
This page explains the dependencies between modules in the Neovim configuration.
Module Dependency Diagram
Initialization Flow
Plugin Dependencies
Keymap Dependencies
Configuration File Load Order
init.lua- Entry pointalex/init.lua- Main initializationalex/environments/init.lua- Environment detectionalex/native/options.lua- Basic option settingsalex/loader/init.lua- Plugin loader initializationalex/native/init.lua- Native features initializationalex/native/lsp/init.lua- LSP setupalex/keymaps/init.lua- Keymap settings- Plugin settings - Individual plugin configuration files (lazy loaded)
Important Dependency Explanations
Environment Module
The environment module (peinan.environments) runs before all other modules. This allows environment-specific initialization control.
Option Settings
peinan.native.options must run before plugins are loaded. This ensures plugins can reference the correct option settings.
Plugin Loader
peinan.loader initializes Lazy.nvim and loads all plugin definitions. Plugins are lazy-loaded, so only configurations are loaded at startup.
Keymaps
Keymaps may be set after plugins are loaded (e.g., Telescope, no-neck-pain). This allows access to plugin-specific features.