This repository contains my Neovim configuration for C++, Python, Go, Rust, TypeScript, Bash, and Java (with LSP support). Follow the instructions below to set it up.
Ensure you have the following installed:
- Neovim (version 0.9.5+)
- Git
- wget (for Java LSP setup)
- Nerd Fonts (for themes)
Backup your current Neovim configuration:
mv ~/.config/nvim ~/.config/nvim_backup
Clone the repository into your Neovim configuration directory:
git clone https://github.com/Rukkhadevata123/nvim-config ~/.config/nvim
Install Packer for managing plugins:
git clone --depth 1 https://github.com/wbthomason/packer.nvim \
~/.local/share/nvim/site/pack/packer/start/packer.nvim
For Java development, install jdtls
and the Java Debugger:
mkdir -p ~/.local/share/nvim/lsp_servers/jdtls/plugins/
wget -O ~/.local/share/nvim/lsp_servers/jdtls/jdtls.tar.gz https://download.eclipse.org/jdtls/snapshots/jdt-language-server-latest.tar.gz
cd ~/.local/share/nvim/lsp_servers/jdtls
tar -xzvf jdtls.tar.gz
rm jdtls.tar.gz
git clone https://github.com/microsoft/java-debug ~/.local/share/nvim/lsp_servers/java-debug
cd ~/.local/share/nvim/lsp_servers/java-debug/
./mvnw clean install
Install language servers for your preferred languages:
yay -S luajit-tiktoken-bin python-pip lua-language-server bash-language-server clang pyright gopls rustup typescript-language-server rust-analyzer flake8 eslint prettier delve codelldb-bin zathura-cb zathura-djvu zathura-pdf-mupdf zathura-ps zathura nodejs npm --needed
Or use npm for some:
sudo npm install -g pyright bash-language-server typescript-language-server
Install the Tokyonight theme:
git clone https://github.com/folke/tokyonight.nvim \
~/.local/share/nvim/site/pack/packer/start/tokyonight.nvim
Set up Python formatting with black and install debugpy:
mkdir -p ~/.local/venv && cd ~/.local/venv
python3 -m venv nvim
cd nvim
. ./bin/activate
pip install pynvim black
cd ~/.local/venv
python -m venv debugpy
debugpy/bin/python -m pip install debugpy
Open Neovim and run:
:PackerSync
mv ~/.config/nvim ~/.config/nvim_backup
git clone https://github.com/Rukkhadevata123/nvim-config ~/.config/nvim
git clone --depth 1 https://github.com/wbthomason/packer.nvim ~/.local/share/nvim/site/pack/packer/start/packer.nvim
mkdir -p ~/.local/share/nvim/lsp_servers/jdtls/plugins/
wget -O ~/.local/share/nvim/lsp_servers/jdtls/jdtls.tar.gz https://download.eclipse.org/jdtls/snapshots/jdt-language-server-latest.tar.gz
cd ~/.local/share/nvim/lsp_servers/jdtls
tar -xzvf jdtls.tar.gz
rm jdtls.tar.gz
git clone https://github.com/microsoft/java-debug ~/.local/share/nvim/lsp_servers/java-debug
cd ~/.local/share/nvim/lsp_servers/java-debug/
./mvnw clean install
cd
mkdir -p ~/.local/venv && cd ~/.local/venv
python3 -m venv nvim
cd nvim
. ./bin/activate
pip install pynvim black
cd ~/.local/venv
python -m venv debugpy
debugpy/bin/python -m pip install debugpy
cd
yay -S luajit-tiktoken-bin python-pip lua-language-server bash-language-server clang pyright gopls rustup typescript-language-server rust-analyzer flake8 eslint prettier delve codelldb-bin zathura-cb zathura-djvu zathura-pdf-mupdf zathura-ps zathura nodejs npm --needed
git clone https://github.com/folke/tokyonight.nvim ~/.local/share/nvim/site/pack/packer/start/tokyonight.nvim
nvim