My config for NvChad v2.5

sekhali 9ff56a5572 now using system clipboard 1 month ago
lua 9ff56a5572 now using system clipboard 1 month ago
.gitignore 1b392263b0 added plugins, updated stylua.toml for use tabs 1 month ago
.stylua.toml 1b392263b0 added plugins, updated stylua.toml for use tabs 1 month ago
LICENSE 079be16b32 Initial commit 1 month ago
LICENSE_NvChad ed41e4ffe9 initial commit 1 month ago
README.md 4b5eaf6366 updated README 1 month ago
init.lua ed41e4ffe9 initial commit 1 month ago
lazy-lock.json 1b392263b0 added plugins, updated stylua.toml for use tabs 1 month ago

README.md

NvChad_Config

My config for NeoVim based on NvChad v2.5

Config created for work with Python and use Tabs for indent

Original repo


Table of content

  1. Non-package requirements
  2. Preparations
  3. Required packages (Arch)
  4. Required packages (Python)
  5. Post Install things
  6. Coding configs
  7. Installed Plugins list
  8. Not installed plugins

Non-package requirements:


Preparations:

If you have config for neovim - backup them:

mv ~/.config/nvim ~/.config/nvim_bak
mv ~/.local/share/nvim ~/.local/share/nvim_bak
mv ~/.local/state/nvim ~/.local/state/nvim_bak

Required packages (Arch)

  • neovim
  • ripgrep (for Telescope)
  • npm (for install and work of some plugins)
  • luajit (for vim-flog)

Required packages (Python)

  • pynvim (support python plugins in Nvim) (Python 3.7 or later)
  • black with tabs (python formatter, fork for use tabs) (Python 3.7 or later)

Install all packages in one command (Arch)

Warning - I installing python packages in system. It is unsafe. For this way - Python packages executables will be located in ~/.local/bin

sudo pacman -Syu ripgrep neovim npm luajit && pip3 install --user --break-system-packages --upgrade pynvim black-with-tabs

same but splitted commands

sudo pacman -Syu ripgrep neovim npm luajit
pip3 install --user --break-system-packages --upgrade pynvim black-with-tabs

If neovim will not see black executable - create link in /usr/bin

sudo ln -s ~/.local/bin/black /usr/bin/black


More safe way - install python packages to virtual env and use them in neovim.

sudo pacman -Syu ripgrep neovim npm luajit && mkdir -p ~/.local/venv && cd ~/.local/venv && python3 -m venv nvim && cd nvim && . ./bin/activate && pip3 install pynvim black-with-tabs

same but splitted commands

sudo pacman -Syu ripgrep neovim npm luajit
mkdir -p ~/.local/venv
cd ~/.local/venv
python3 -m venv nvim
cd nvim
. ./bin/activate
pip3 install pynvim black-with-tabs

After install with more safe command you should uncomment line with "python3_host_prog" in lua/options.lua


Post install things

Type this inside neovim:

For install LSP and other things:

:MasonInstallAll

If Lazy didn't started:

:Lazy update

If TreeSitter didn't updated:

:TSUpdate


Coding configs

Formatters -> configs/conform.lua

LSP -> configs/lspconfig.lua

Linters -> configs/nvim-lint.lua


Installed plugins list

Excluded plugins that included in NvChad by default and not listed in plugins/init.lua

  1. Conform.nvim - formatter plugin

  2. dressing.nvim - Improve nvim UI (e.g. rename is showing not in bottom, but near renaming text)

  3. indent-blankline.nvim - show indents visually (by virtualtext)

  4. leap.nvim - improved movement

  5. Mason.nvim - install/update LSP/formatters/etc

  6. nvim-cmp - autocompletion

  7. nvim-colorizer - show color in realtime. For example - #FF0000 will be Red. Part of NvChad

  8. nvim-lint - linters support

  9. nvim-lspconfig - LSP support for nvim

  10. nvim-treesitter - syntax highlight

  11. pretty-fold.nvim - better folds for nvim

  12. todo-comments,nvim - highlight todo comments

  13. trouble.nvim - for better diagnostics show

  14. vim-flog - git branch viewer for vim

  15. vim-fugitive - use Git inside vim

  16. vim-multiple-cursors - multiple cursors in vim

  17. vim-python-docstring - autogenerate docstrings for Python

  18. which-key.nvim - show available keymaps as popup


Not installed plugins

I found them interesting and may be install later, but now I don't need them.

Copy of this list located at the bottom of file lua/plugins/init.lua

  1. codeium.vim - AI autocompletion (Copilot alternative)

  2. diffview.nvim - Single tabpage interface for easily cycling through diffs for all modified files for any git rev.

  3. lazydev.nvim - Properly configures LuaLS for editing your Nvim config by lazily updating your workspace libraries.

  4. nvim-bqf - Better quickfix window

  5. neotest - A framework for interacting with tests within NeoVim.

  6. nvim-dap - Debug Adapter Protocol client implementation for NeoVim

  7. nvim-dap-ui - A UI for nvim-dap