my setup for neovim, tmux, zsh, wezterm, and moar!
Warning
This is not a neovim distro, it's my personal configs for a lot tools so use at your own risk!
Probably one of the only degens to setup testing for their neovim config in CI 😂.
As of now you can take a look at the following code snippets on how this works.
- Dockerfile that uses
node:trixie-slimas the base image; setup-nvim.sh installs stable and nightly Neovim during the image build, and the imageENTRYPOINTrunsnpx hack test hackCLI for building the docker image and testing it- Container test runner (
hack test): Mason LSP install, headless Neovim, and optional lazy lock diff TestLSPTypescriptuser command for asserting TypeScript diagnostics from the LSP- How you can avoid pagers in neovim
- Running this in github action CI
Testing locally is as easy as pnpm test and it will build the docker image and run the test command to validate the following.
In CI here are some of the things these tests are for.
- Neovim Lua config does not have any errors
- Typescript LSP will attach to simple.ts and validate diagnostics are emitted
- Mason installs my plugins at their latest version on both nightly and stable
- Mason also installs my current plugins at their frozen version (
lazy-lock.json) on both nightly and stable