Handcrafted neovim
configs for the ultimate CLI dev experience, completely in lua
For a best yet minimal config, go to minimal.nvim
Before you begin, ensure you have met the following requirements:
- You have installed the latest version of
neovim
- If having issues, these Instructions will help you do that, Checkout complete automated installation script at bottom of the documentation.
If the reader is well versed or, has a general experience with shell scripting, Lua language or, know what they are doing then they may skip this section. But it advised to take a good understanding of the file structure before making any changes.
nvim
βββ after
βΒ Β βββ indent
βΒ Β βββ queries
βΒ Β βΒ Β βββ cpp
βΒ Β βΒ Β βββ lua
βΒ Β βΒ Β βββ python
βΒ Β βββ syntax
βββ bin
βΒ Β βββ img
βΒ Β βββ snippets
βββ init.lua
βββ lua
βΒ Β βββ core
βΒ Β βΒ Β βββ abbreviations.lua
βΒ Β βΒ Β βββ cmds.lua
βΒ Β βΒ Β βββ colorscheme.lua
βΒ Β βΒ Β βββ comment.lua
βΒ Β βΒ Β βββ consts.lua
βΒ Β βΒ Β βββ dressing.lua
βΒ Β βΒ Β βββ files.lua
βΒ Β βΒ Β βββ keymaps.lua
βΒ Β βΒ Β βββ options.lua
βΒ Β βΒ Β βββ plugins.lua
βΒ Β βΒ Β βββ utils.lua
βΒ Β βββ plugins
βΒ Β βββ alpha.lua
βΒ Β βββ cmp.lua
βΒ Β βββ gitsigns.lua
βΒ Β βββ lspInstaller.lua
βΒ Β βββ lsp.lua
βΒ Β βββ lsp-saga.lua
βΒ Β βββ null-ls.lua
βΒ Β βββ nvim-tree.lua
βΒ Β βββ shared
βΒ Β βΒ Β βββ ascii_art.lua
βΒ Β βββ telescope.lua
βΒ Β βββ todo.lua
βΒ Β βββ toggler.lua
βΒ Β βββ toggleterm.lua
βΒ Β βββ treesitter.lua
βββ README.md
Mostly available via npm
npm install -g typescript typescript-language-server vscode-langservers-extracted vls @tailwindcss/language-server yaml-language-server @prisma/language-server emmet-ls neovim graphql-language-service-cli graphql-language-service-server @astrojs/language-server bash-language-server
Check your package manager for availability if not on an Arch based distro - brew, apt etc.
sudo pacman -S lua-language-server pyright deno rust-analyzer gopls shellcheck
prettier with npm
npm i -g prettier
shfmt is in the AUR
sudo pacman -S shfmt # From the AUR
go install mvdan.cc/sh/v3/cmd/shfmt@latest # With the help of GO
stylua is in the AUR
sudo pacman -S stylua
Check your package manager for availability if not on an Arch based distro - brew, apt etc.
autopep8 for python is in Manjaro/Arch repos
sudo pacman -S autopep8
Check your package manager for availability if not on an Arch based distro - brew, apt etc.
yamlfmt for yaml available with pip
sudo pip install yamlfmt
# move to home dir
cd ~
# back up current config
cp -r ~/.config/nvim ~/.config/nvim.backup
# clone repository
git clone https://github.com/adityastomar67/nvdots.git ~/.config
# Launch nvim for the first time with this command to install plugins
nvim +PackerInstall
# exit nvim and Then compile the loader file
nvim +PackerCompile
The conifg uses luasnip paired with friendly-snippets, my own fork for VS Code style snippets. You can add your own snippets to the config snippets directory . You'll also need to edit the snippets/package.json to be able to load your snippets in the correct filetype. One test snippet is included as an example.
For a list of plugins, see the plugins file.
Looking for my zsh
and other cli
configs? See Dotfiles
Plugin Finder Noting really, if you have (Neo)vim installed then you can just backup your previous config if any, then just clone this repo and create a symlink of this configuration to your ~/.config/nvim
SUGGESTION
- Font: Cascursive - Courtesy of @sainnhe (You can find fonts inside my dotfiles repo)
- dot_files
- Wallpaper
Run this code snippet in your terminal (Coming soon...)
curl -sL https://bit.ly/Fresh-Install | sh -s -- --vim
- Better Documentation
- New Screenshot
- Get LuaSnip working with dynamic changes enabled
- Change the keybinding of hopping from "f" to some other key
- Add hydra plugin
- Changing name to nvdots.
- Add Mason.nvim
- Create a version release
- New Ideas for v2