Awesome Neovim Configuration
November 26, 2025 ยท View on GitHub
This repo it to make setting up of neovim >= 0.11 a breeze. The setup is powered and managed by ๐ค lazy.nvim plugin manager
If you like helix, which I am drifting to gradually, check out my helix config
โจ Features Supported
- โก zig, ๓ฐฑ C , ๎ C++, ๓ฐขฑ lua and all other language compilers
- ๐ฆ linters and static analysis through null-ls
- ๐ฅ lsp servers configured with nvim-lspconfig
- ๐งน autocompletion, formatters and all other features supported by neovim's builtin lsp
- ๐ฆธ Any build system
- โด๏ธ Treesitter syntax highlighting
- ๐ฅ Transform your Neovim editor into a full-fledged IDE
- ๐ค Easily customize and extend config
- ๐ Blazingly fast using ๐ค lazy.nvim and the new lua-loader that byte-compiles and caches lua files
๐ Screenshots
๎ C++

โก Zig

๓ฐขฑ Lua

๐ Startup Time

โก๏ธ Requirement
- Neovim >= 0.11 (needs to be built with LuaJIT)
- git >= 2.52 (gitsigns ...)
- tree-sitter >= 0.25 (to enable automatically installing missing parsers when entering buffers)
- a Nerd Font (optional, for nvim-tree, lualine, bufferline)
NOTE the languages supported out of the box are zig, c++, c, lua, bash/zsh, glsl, json But support for other languages like(js, ts, html5+, css3+, vue, markdown, nix) can easily be add by using its required lsp server configuration and installing the server and other accompanying tools for development like linters, static analysers, formatter
๐ Directory structure
๐ ~/.config/nvim
โโโ ๐ ftplugin
โ โโโ ๐ lua
โ โ โโโ ๎ mapping.lua
โ โโโ ๎ gitcommit.lua
โ โโโ ๎ help.lua
โ โโโ ๎ zsh.lua
โโโ ๐ lua
โ โโโ ๐ config
โ โ โโโ ๎ autocmds.lua
โ โ โโโ ๎ defaults.lua
โ โ โโโ ๎ init.lua
โ โ โโโ ๎ keymaps.lua
โ โ โโโ ๎ lazy.lua
โ โ โโโ ๎ options.lua
โ โ โโโ ๎ syntax.lua
โ โ โโโ ๎ utils.lua
โ โโโ ๐ plugins
โ โโโ ๎ cmp.lua
โ โโโ ๎ colorscheme.lua
โ โโโ ๎ editor.lua
โ โโโ ๎ gitsigns.lua
โ โโโ ๎ lsp.lua
โ โโโ ๎ neorg.lua
โ โโโ ๎ snip.lua
โ โโโ ๎ telescope.lua
โ โโโ ๎ tree.lua
โ โโโ ๎ treesitter.lua
โ โโโ ๎ ui.lua
โโโ ๎ init.lua
โโโ ๎ lazy-lock.json
โโโ ๎ LICENSE
โโโ ๏ README.md
ftplugin directory contains files for setting options or mappings specific to filetypes
lua/config directory contains editor autocmds, keymaps, options, defaults, syntax files, utils fn's and
lazy.nvim configuration
lua/plugins directory contains all plugins configurations and their mappings
init initializing/start point for nvim editor
๐ Getting Started
You can find awesome-neovim here
Follow the steps below to use awesome-neovim
-
fork this repo into your account
GitHub how to fork a repository
-
Make a backup of your current Neovim files at
$XDG_CONFIG_HOME/nvimand$XDG_DATA_HOME/nvim:mv ~/.config/nvim ~/.config/nvim.bak mv ~/.local/share/nvim ~/.local/share/nvim.bak -
Clone the repo into
$XDG_CONFIG_HOME/nvimor$HOME/.config/nvimgit clone https://github.com/${YOUR-USERNAME}/awesome-neovim $XDG_CONFIG_HOME/nvim -
Start Neovim!
nvim
โ๏ธ For information on how to use lazy.nvim
You can thoroughly go through awesome-neovim configuration and if more clarification is required read lazy's README
for help using the various plugins and extensions
:help local-addtions
To view the help pages and instruction manual on the various extensions
๐ Credit
- Huge credit to @folke, I learnt a lot from his lazy config repo
- Big Shout Out to the creators of the various plugins which make nvim terrific
- Another to all the creators of the various neovim extensions.
And Last but not the least God Bless The Vim && Neovim Community for this hyperextensible and hackable text editor