-
Notifications
You must be signed in to change notification settings - Fork 459
Prerequisites
This step is only required if you want to use SSH to clone and update plugins.
- Add your ssh key to github account: adding-a-new-ssh-key-to-your-github-account
- Configure your ssh key, add follow content to
~/.ssh/config
Host github
Hostname github.com
User git
IdentityFile ~/.ssh/id_rsa.pub # your SSH public key file
# lazygit required by tui git operations
# ripgrep required by telescope word search engine
# zoxide required by telescope-zoxide
# sqlite required by telescope-frecency
# fd required by telescope file search engine
# yarn required by markdown preview
# nerd-fonts-jetbrains-mono required by devicons and neovide font
# lldb for lldb-vscode required by debug c/cpp/rust program
# nvm for node version manager
# go required by efm installation
# make required by fzf
# unzip required by mason
# neovim version >= 0.7
paru -S git lazygit zoxide ripgrep sqlite fd yarn nerd-fonts-jetbrains-mono lldb nvm go make unzip neovim
# nodejs required by github-copilot
# node version should be latest LTS (version < 18)
nvm install 16
nvm use 16
# for neovim python module
pip install neovim --user
Other GNU/Linux distros and macOS also need packages listed above, please ensure you installed all of them before you use this config.
It's so appreciated that you can edit this wiki and add your distro's installation guide!
Some languages require parser generator support from the tree-sitter
executable (that is, :TSInstallFromGrammar
). You should install the executable using your preferred package manager.
Depending on the platform, the package name can be tree-sitter
or tree-sitter-cli
. If installing one of them has no effect, the other should be used. For example:
brew install tree-sitter
yarn global add tree-sitter-cli
cargo install tree-sitter-cli
sudo pacman -S wezterm kitty
You need to set nerd font
(such as JetBrainsMono Nerd Font
) as your terminal font to show icons.
paru -S neovide goneovim-git nvui
- For mason, you need to install corresponding language server use it.
-
:MasonInstall rust-analyzer
forrust
-
:MasonInstall json-lsp
forjson
The default html server has bug which does not support embeded javascript completion.
So you need to install vscode-html-languageserver-bin manually which will be started when you open html
file.
npm i -g vscode-html-languageserver-bin
-
For nvim-treesitter, ensure installed parsers are configured at
lua/modules/editor/config.lua/config.nvim_treesitter()
, you can add or remove parsers on your own demand. -
For efm-langserver, you need to install itself and format/lint tools manually.
All of format/lint tools is configured here.
You can use :MasonInstall
to install them easily.
-
:MasonInstall efm
forefm
-
:MasonInstall vint
forvimscript
-
:MasonInstall stylua
forlua
-
:MasonInstall clang-format
forc/cpp
-
:MasonInstall black
forpython
-
:MasonInstall eslint
forts/js
-
:MasonInstall prettier
forvue/ts/js/html/yaml/css/scss/markdown
-
:MasonInstall shfmt
forshell
-
:MasonInstall shellcheck
forshell
You can use FormatToggle
command to enable/disable format-on-save which is enabled by default.
Also, you can disable format-on-save for specific workspace by add its path in lua/core/settings.lua
.
You can use :checkhealth
command to check whether all modules works or not.
You can configure these tools in your own habit like .eslintrc.js
and .prettierrc.json
.