NvChad
Showcase
( Zoom in the screenshot )
What is it?
-
NvChad is a Neovim config written in Lua aiming to provide a base configuration with very beautiful UI and blazing fast startuptime (around 0.02 secs ~ 0.07 secs). It tweaks UI plugins such as Telescope, Nvim-Tree, Bufferline, etc well to provide an aesthetic UI experience.
-
Lazy loading is done 93% of the time, meaning that plugins will not be loaded by default, they will be loaded only when required also at specific commands, events etc. This lowers the startuptime.
-
NvChad isn't a framework! It's supposed to be used as a "base" config, so users can tweak the defaults well, can also remove the things they don't like in the default config and build their config on top of it. Users can tweak the entire default config while staying in their custom config (lua/custom dir). This is the control center of the user's config and gitignored so the users can stay update to-date with NvChad's latest config (main branch) while still controlling it with their chadrc (file that controls entire custom dir)
Theme Showcase
UI related plugins used
Images (Click to expand!)
Nvim-tree.lua
Fast file tree:
Telescope-nvim
A fuzzy file finder, picker, sorter, previewer and much more:
Indent-blankline.nvim
Adds indentline:
Our own statusline written from scratch
![](https://github.com/NvChad/nvchad.github.io/raw/src/static/img/features/statusline_modes.png?raw=true)
Tabufline (our own pertab bufferline)
![](https://github.com/NvChad/nvchad.github.io/raw/src/static/img/features/tabufline2.png?raw=true)
![](https://github.com/NvChad/nvchad.github.io/raw/src/static/img/features/tabufline3.png?raw=true)
Nvim-web-devicons
Lua fork of Vim Devicons which offers more file icon customisability:
NeoVim Treesitter configurations and abstraction layer. We mostly use this for syntax highlighting. The pretty syntax highlighting you see in all of our screenshots has gotten possible due to treesitter Nvim-treesitter
Plugins list
- Many beautiful themes, theme toggler by our base46 plugin
- Inbuilt terminal toggling & management with Nvterm
- NvChad updater, hide & unhide terminal buffers with NvChad extensions
- Lightweight & performant ui plugin with NvChad UI
- File navigation with nvim-tree.lua
- Managing tabs, buffers with bufferline.nvim
- Beautiful and configurable icons with nvim-web-devicons
- Git diffs and more with gitsigns.nvim
- NeoVim Lsp configuration with nvim-lspconfig and mason.nvim
- Autocompletion with nvim-cmp
- File searching, previewing image and text files and more with telescope.nvim.
- Syntax highlighting with nvim-treesitter
- Autoclosing braces and html tags with nvim-autopairs
- Indentlines with indent-blankline.nvim
- Useful snippets with friendly snippets + LuaSnip.
- Popup mappings keysheet whichkey.nvim
History
-
I (@siduck i.e creator of NvChad) in my initial days of learning to program wanted a lightweight IDE for writing code, but I had a very low end system. I was into web dev stuff so many suggested I used VS Code but it was very heavy on my system, It used a significant amount of my ram so I never used it again, Sublime Text was nice but the fear of using proprietary software as a Linux user bugged me a lot. Then I tried Doom-emacs which looked pretty but it was slow and I was lost within its docs, I tried Lunarvim but I was too lazy to read the docs. Doom-emacs and Lunarvim inspired me to make a config which is the most pretty, very fast and simple.
-
I'm decent at ricing i.e customizing system and making it look pretty so I posted my Neovim rice on neovim subreddit, my Neovim-dotfiles GitHub repo blew up and then I had to come up with a name. I was amazed by the chad meme so I thought the name NvChad would be a good fit. Chad here doesn't literally refer to the chad guy but in the sense such as Chad Linux vs Windows i.e meaning superior, best etc. NvChad was made for my personal use but it gained some popularity which has inspired me to make a public config i.e config usable by many and less hassle to update as everyone's going to use the same base config (NvChad) with their custom modifications (which are gitignored so that won't mess up), without the custom config stuff users would have to keep a track of every commit and copy paste git diffs to manually update nvchad.
💝 Support
I'm (@siduck) really very sorry to remove the previous charity links but I had to do it for various reasons. A lot has been going here regarding financial issues and I do need some support if it's possible from your end. I haven't graduated yet and it would be great to earn some stuff as that'd help me with daily minor expenses. If you like NvChad and would like to support & appreciate it via donation then I'll gladly accept it. Dont worry! NvChad will still stay alive & active without your donations! I will remove the sponsor button and re-add the charity links once I get a job, probably a year or two.
Credits
- Elianiva helped me with NeoVim Lua related issues many times, NvChad wouldn't exist without his help at all as he helped me in my initial neovim journey!
- @lorvethe for making the beautiful NvChad logo.