Skip to content

Editor

For easy file editing, I’m going to use neovim, so editing is as simple as calling nvim on the file.

General tools

It is always a good idea to have wget, ripgrep and fd installed, but with my Neovim config it’s even more important, as Telescope and other plugins make heavy use of them.

Clipboard integration

For Neovim’s clipboard integration, you kind of have to decide whether or not you want native clipboard integration with Wayland/X11. As a rough measure, you probably want clipboard integration over Windows if you use e.g. WezTerm installed on Windows to access WSL and you probably want native clipboard integration for Wayland/X11 if you use an installation of WezTerm from out of WSL.

Clipboard via Windows

Simply install win32yank on the Windows side. As Windows paths are normally appended to the WSL path, it is available to nvim within WSL, if you have it on your Windows path. To simplify this, simply install it using scoop

Terminal window
scoop.exe install win32yank

Native clipboard

Install both wl-clipboard, as well as xsel. I use Wayland primarily, but it doesn’t hurt to have both available, as Neovim checks for wl-clipboard first anyway (see :help clipboard).

Tree-sitter

As my Neovim config also includes Tree-sitter support, you need to have some kind of C/C++ compiler available. Normally Arch Linux on WSL2 should come with gcc. The tree-sitter binary isn’t required normally, but it’s nice to have available just in case.

NodeJS

Also some LSPs, require node and npm for installing the language servers. By installing them now, before opening neovim, we make sure it doesn’t accidentally pick up any Windows npm. Trust me, you’ll never get back the day you spent troubleshooting some weird LSP errors due to npm not being WSL-native.

Python

Some plugins require Python 3, so we’re also going to install that.

Lua

If we want to edit the Neovim config, we also need tools for Lua, namely luarocks.

Lazyjj

As I use jj, I also want to install lazyjj, as it provides some integration for AstroNvim.