Philosophy:
- If you can't explain it, you don't need it.
- If it becomes a chore to maintain, you don't need it.
- If you have to lookup how it works more than once, you don't need it.
- NeoVim (>= 0.10)
- Editor you need. One can edit without it but not as contentedly.
- Nerd Font
- Nerdfonts are used for icons. Everything should work without it but not as pretty.
- ripgrep
- Ripgrep is used for searching in files, it is faster than the default grep. Everything should work without it but not as fast.
.
├── README.md
├── init.lua
└── lua
├── core
│ └── *.lua
├── colors
│ └── *.lua
└── plugins
└── *.lua
lazy.nvim plugin is used as the package manager and it is initialised with the following in the init.lua
file.
All plugin specific configurations are stored in the lua/plugins
directory. All color/theme related configurations are stored in the lua/colors
directory.
-
Manager Plugins:
-
Auto-Plugins (Setup and hopefully Forget)
- treesitter (auto-syntax highlighting)
- nvim-lspconfig (auto-language server protocol)
- nvim-cmp (auto-complete)
- conforms.nvim (auto-formatting)
- copilot.nvim (auto-ai-completion)
-
Utility plugins:
-
File navigation
- telescope.nvim (fuzzy finder)
- harpoon (project navigation/ buffer management)
-
Utils
- sleuth(trating tab respectfuly)
- surround (surround text objects)
- unimpaired (pairs of mappings with
[
and]
prepend) - fugitive (git integration)
- gitsigns (gutter git signs)
-
Bug navigation
- trouble.nvim (quickfix list and location list)
-
-
Theme plugins:
- github (colorscheme)
- Trouble + Telescope
- Trouble can recive telescope search results therefore this feature is activated
- lspconfig + nvim-lsp-cmp
- autocomplete plugin
nvim-cmp
is using lsp results for it's autocompletion
- autocomplete plugin