This repo contains all my neovim configs files, which I use. Now made with lazy.nvim Now this doesn't uses Mason, so you would have to install all of the lsp yourself.
For most of time of this configs existence I did everything on the main branch, but that is changed now i experiment and use the dev
branch and will only merge stuff once in a while to the main, so now this will be way more stable.
I recommend use bob:
Bob is a neovim version manager, which you can use to download any version of neovim supported by Bob
To use it just install it with AUR:
yay -Sy --needed --noconfirm bob-bin
Or with Cargo:
# NOTE: this will build from source
cargo install --git https://github.com/MordechaiHadad/bob.git
And then you can just do:
bob use nightly
Also note you will need to add bob's nvim install folder to your path for that add this to your bashrc/zshrc
export XDG_DATA_HOME=$HOME/.local/share
export PATH=$XDG_DATA_HOME/bob/nvim-bin:$PATH
But this will also work:
sudo pacman -Sy --needed --noconfirm neovim
Or after installation of bob:
bob use stable
Neovim-nightly Installation
curl -LO https://github.com/neovim/neovim/releases/download/nightly/nvim.appimage && sudo chmod +x nvim.appimage
#build dependencies
sudo pacman -Sy --needed --noconfirm git base-devel cmake unzip ninja tree-sitter curl
git clone https://github.com/neovim/neovim && cd neovim && make CMAKE_BUILD_TYPE=RelWithDebInfo && sudo make install
yay -Sy neovim-nightly
mv ~/.config/nvim ~/.config/nvim.backup
For main branch
git clone https://github.com/Rishabh672003/Neovim ~/.config/nvim && nvim
These are all the optional dependencies if you don't want anything just remove them neovim should work fine either way
These may not be up to date so please look at lua/rj/lsp/lsp-conf.lua
for the list of all servers
sudo pacman -Sy --needed --noconfirm lua-language-server rust-analyzer \
bash-language-server typescript-language pyright taplo-cli \
tailwindcss-language-server vscode-html-languageserver yaml-language-server
yay -S jdtls lemminx
sudo npm i -g vscode-langservers-extracted docker-langserver
For null-ls to work for formatting and stuff
sudo pacman -S --needed --noconfirm stylua prettier astyle zsh autopep8 python-black
yay -S beautysh shellcheck-bin proselint
Other dependencies
sudo pacman -S --needed --noconfirm ripgrep npm unzip yarn
Automating the whole process of installing neovim, also its dependencies and then applying the config
Note: this will install a lot of dependencies so use it only after reading the script and if you know what you are doing, I will not be responsible if you break anything on your system
bash <(curl -s https://raw.githubusercontent.com/Rishabh672003/Neovim/main/install.sh)
You can change the startup-screen if you don't like this one go to lua/rj/plugins/alpha-themes and read the readme there
rm -rf $HOME/.config/nvim $HOME/.local/share/nvim $HOME/.cache/nvim
The credit goes to Neovim-from-scratch and its author Christian who made this awesome repo and video playlist, this is from where I learned how to make and structure the configs and actually made it work, I used his configs as a base for most of the plugins and modified them for my needs. also I took configs and ideas from Lunarvim, Astronvim, LazyVim and nvim-basic-ide