Skip to content

Dependencies

Zeioth edited this page Jun 28, 2024 · 158 revisions

You can check if you have all the dependencies with the command :checkhealth base

ranger         # Necessary for Rnvimr.
pynvim         # Necessary for Rnvimr.
yarn           # Necessary for Markmap.
rust           # Necessary for any dependency that requires rust.
fd             # Necessary for Spectre.
delta          # Necessary for telescope-undo.
grcov          # Necessary for test coverage.
jest           # Necessary for neotest-jest
pytest         # Necessary for neotest-python.
cargo-nextest  # Nesessary for neotest-rust
dotnet-runtime # Necessary for neotest-dotnet

The next installation commands include all this + compiler.nvim dependencies + dooku.nvim dependencies.

Arch linux

If you are on arch linux, you can just copy paste this on the terminal

paru -S --needed "luarocks" "python" "python-pynvim" "ranger" "fd" "git-delta" "grcov" "rustup" "yarn" "python-pytest" "gcc" "binutils" "dotnet-runtime" "dotnet-sdk" "aspnet-runtime" "mono" "jdk-openjdk" "dart" "kotlin" "elixir" "npm" "nodejs" "typescript" "make" "go" "nasm" "r" "nuitka" "python" "ruby" "perl" "lua" "pyinstaller" "swift-bin" "gcc-fortran" "fortran-fpm-bin" "doxygen" "ldoc" "ruby-yard"; yarn global add "jest" "jsdoc" "typedoc"; cargo install "cargo-nextest"; go install "golang.org/x/tools/cmd/godoc@latest"

Ubuntu / Windows WLS

If you are on Ubuntu/Windows WLS, you can just copy paste this on the terminal

sudo apt update; sudo apt install --install-if-missing "luarocks" "yarn" "ranger" "rust-fd-find" "python-pynvim" "python-pytest" "delta" "rust-grcov" "rustup" "gcc-defaults" "binutils" "dotnet8" "monodevelop" "java-common" "nasm" "r-base" "rustc" "golang" "python" "ruby" "perl" "lua5.3" "kotlin" "elixir" "make" "nodejs" "npm" "node-typescript" "nuitka" "doxygen" "yard"; pip install "pyinstaller"; yarn global add "jest" "jsdoc" "typedoc"; go install "golang.org/x/tools/cmd/godoc@latest"; sudo snap install --classic "flutter"

MacOS

If you are on MacOS, you can just copy paste this on the terminal

sudo brew install "luarocks" "ranger" "fd" "git-delta" "rustup-init" "yarn" "gcc" "binutils" "dotnet" "mono" "openjdk" "dart-sdk" "kotlin" "elixir" "node" "typescript" "make" "rust" "go" "nasm" "r" "ruby" "perl" "lua" "swift" "pyinstaller" "doxygen"; sudo brew install --cask "dotnet-sdk" "flutter"; pip install "pynvim" "pytest" "Nuitka"; yarn add global "jest" "jsdoc" "typedoc"; cargo install "cargo-nextest" "grcov"; go install "golang.org/x/tools/cmd/godoc@latest"

Termux

If you are on Termux, you can just copy paste this on the terminal

pkg update; pkg install "tur-repo"; pkg install "luarocks" "ranger" "python" "fd" "git-delta" "yarn" "mono" "openjdk-17" "dart" "kotlin" "elixir" "nodejs" "make" "rust" "golang" "nasm" "python" "ruby" "perl" "liblua52" "swift" "binutils-libs" "gcc-default" "doxygen"; pip install "pynvim" "pytest" "Nuitka"; yarn add global "jest" "typescript" "jsdoc" "typedoc"; cargo install "cargo-nextest" "git-delta" "grcov"; go install "golang.org/x/tools/cmd/godoc@latest"

You will have to manually install flutter, r, and dotnet as there is currently no termux package for them.

Fedora

sudo dnf install "luarocks" "ranger" "rust-fd-find" "rust-git-delta" "rustup" "python3-pytest" "gcc" "binutils" "dotnet6.0" "dotnet-runtime-6.0" "dotnet-sdk-6.0" "aspnetcore-runtime-6.0" "mono-complete" "java-21-openjdk" "elixir" "nodejs" "npm" "typescript" "make" "golang" "nasm" "R-rlang" "ruby" "perl" "lua" "swift-lang" "gcc-gfortran" "doxygen" "lua-ldoc" "rubygem-yard"; pip install "pynvim" "pytest" "Nuitka" "pyinstaller"; npm install -g "yarn" "jest" "typescript" "jsdoc" "typedoc"; cargo install "cargo-nextest" "grcov"; go install "golang.org/x/tools/cmd/godoc@latest"

Other distros

  • Copy/paste the arch dependencies into chatgpt.
  • Then write: "How can I install these dependencies on <distro>?".

Mason packages

Inside neovim press : to enter a command, and copy paste this

:MasonInstall ansible-language-server angular-language-server asm-lsp asmfmt bash-debug-adapter bash-language-server checkmake codelldb clangd cmakelint csharpier cucumber-language-server debugpy delve docker-compose-language-service dockerfile-language-server elixir-ls eslint-lsp fantomas findent firefox-debug-adapter fortls fsautocomplete golangci-lint golangci-lint-langserver gopls google-java-format helm-ls html-lsp java-test json-lsp jq jsonlint kotlin-debug-adapter kotlin-language-server ktlint lua-language-server marksman matlab-language-server neocmakelsp netcoredbg omnisharp perlnavigator php-debug-adapter phpactor php-cs-fixer phpstan rubocop ruff ruff-lsp rust-analyzer selene shellcheck shfmt svelte-language-server stylua taplo typescript-language-server yaml-language-server yamllint yamlfmt zls

This enables LSP, formatters, linters, and debuggers for the 13 most common programming languages. The download is 2GB. Expect it to take a while.

Treesitter parsers

Inside neovim press : to enter a command, and copy paste

:TSInstall all

This enable the new neovim motions and verbs.

Tell me more

  • Don't worry if :LSPInfo don't show a formatter enabled for all languages. Some LSP servers know how to format.
Clone this wiki locally