Skip to content

Repository files navigation

Neovim Config

Personal Neovim configuration focused on modularity, and maintainability. Originally based on kickstart.nvim.

At a Glance

Requirements

  • Neovim 0.12 or higher
  • Required binaries: git, make, unzip, rg, nvr, lazygit, jb

Installation

Clone the repository into your Neovim configuration directory:

git clone https://github.com/103sbavert/nvim-config.git "${XDG_CONFIG_HOME:-$HOME/.config}/nvim"
nvim

Directory Structure

nvim
├─ .*
├─ README.md
├─ init.lua
├─ *-lock.json
└─ lua
   └─ config
      ├─ health.lua
      ├─ <module>.lua
      └─ plugins
         ├─ <simple-plugin>.lua
         └─ <complex-feature>/
            ├─ init.lua
            └─ <helper>.lua

Path Conventions

  • init.lua: This is the main entry point. It contains basic configuration that does not require external dependencies, theme setup, lazy.nvim bootstrapping via vim.pack, and module imports.
  • lua/config/health.lua: Checks required host binaries, run only by explicit invocation (:checkhealth). Also, see Requirements.
  • lua/config/<module>.lua: This contains more complex, but still non-plugin settings or re-usable utilities for other modules.
  • lua/config/plugins/<simple-plugin>.lua: Single-file plugin configurations. Used when setup logic fits cleanly in one file named after the plugin or feature.
  • lua/config/plugins/<complex-feature>/: Multi-file plugin configurations. Used when setup requires modularization across multiple files.
    • init.lua: Main entry point for the feature module.
    • <module>.lua: Reusable utilities or sub-configurations loaded by init.lua.

About

My personal NeoVim config - written with luave

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages