Required
Editor
Optional
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
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.