My configuration for Neovim 0.12.0 or later. Part of it is derived from LazyVim.
Backp your configurations first.
curl -fsSL https://raw.githubusercontent.com/Willie169/nvim-config/refs/heads/main/install.sh | sh
Backp your configurations first.
curl -fsSL https://raw.githubusercontent.com/Willie169/nvim-config/refs/heads/main/full-install.sh | bash
This script will add following line to your "$HOME/.bashrc":
export PATH="${HOME}/.cargo/bin:${HOME}/eclipse.jdt.ls/bin:${HOME}/ktlsp/server/bin:${HOME}/.local/bin:${PATH:-}"
If you don't want it to touch your "$HOME/.bashrc", use
curl -fsSL https://raw.githubusercontent.com/Willie169/nvim-config/refs/heads/main/full-install.sh | bash -s -- -n
Full installation installs
- Neovim
- Pynvim
- Neovim node.js client
- luarocks
- jsregexp
- shellcheck
- yazi
- ripgrep
- fzf
- Jupytext
- bash-language-server
- clangd
- cmake-language-server
- dockerfile-language-server-nodejs
- eclipse.jdt.ls
- gopls
- ktlsp
- lua-language-server
- marksman
- perl-lsp
- pyright
- quick-lint-js
- ra_ap_rust-analyzer
- superhtml
- texlab
- verible
- vscode-json-languageserver
- yaml-language-server and installs Neovim configuration from this repo.
Debian derivatives on x86_64 or AArch64 architecture with normal or root user are supported provided that the following executables are available:
aptbrew: can be installed with:[ "$EUID" -eq 0 ] && touch /.dockerenv /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv bash)"cargo: can be installed with:curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y . "${HOME}"/.cargo/envcargo-binstall: can be installed with:curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bashnpm: can be installed with:NVM_VERSION=$(curl -fsSL "https://api.github.com/repos/nvm-sh/nvm/releases/latest" | jq -r '.tag_name') bash -c "curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/$NVM_VERSION/install.sh | bash" export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion nvm install --lts echo y | corepack enable npm echo y | npm --help || trueuv: can be installed with:curl -LsSf https://astral.sh/uv/install.sh | sh
Termux on AArch64 architecture is supported provided that the following executables are available:
apt,pkgcargo: can be installed with:pkg install rust -ynpm: can be installed with:pkg install nodejs-lts npm -yuv: can be installed with:pkg install libxml2 libxslt python python-ensurepip-wheels python-pip uv -y
Run :checkhealth in Neovim after installation and refer to the documentations of the plugins for other optional external software you may install.
This is also used in my ubuntu-setup-with-vnc-and-gpu and termux-sh repos. You may check them out for my full setup.
sh ~/.config/nvim/update.sh
Full update updates all applications installed in full installation that is not managed by a package manager, including those installed with cargo and cargo-binstall, and updates Neovim configuration.
bash ~/.config/nvim/full-update.sh
After you have installed the setup, put your customization in ~/.config/nvim/lua/config/my_configs.lua and plugins in ~/.config/nvim/lua/plugins/.
All of them are installed with lazy.nvim.
- blink.cmp
- bufferline.nvim
- bullets.vim
- catppuccin-nvim
- fcitx.vim
- friendly-snippets
- fzf-lua
- gitsigns.nvim
- grug-far.nvim
- indent-blankline.nvim
- jupytext.nvim
- lualine.nvim
- LuaSnip
- luasnip-latex-snippets.nvim
- mini.ai
- nvim-autopairs
- match-delimiter.nvim
- mini.icons
- mini.surround
- nvim-lspconfig
- nvim-treesitter
- nvim-treesitter-textobjects
- nvim-ts-autotag
- nvim-ts-context-commentstring
- persistence.nvim
- render-markdown.nvim
- termux-clipboard
- trouble.nvim
- vim-suda
- vimtex
- which-key.nvim
- yazi.nvim
Refer to my vim-config repo for my Vim configuration.