If you already have a neovim config, make a backup:
mv ~/.config/nvim ~/.config/nvim.bak
mv ~/.local/share/nvim/ ~/.local/share/nvim.bak
Run this command to clone the repository:
git clone https://github.com/jrodal98/nvim ~/.config/nvim
Next, follow these steps to finish setting up the config:
- Run
nvim
, which will trigger the initial packersync (you may see errors - this is okay) - Close nvim and then run
nvim
again - Install null-ls related packages:
MasonInstall prettierd stylua black isort shfmt shellcheck proselint
- Wait for all the treesitter and mason LSP configs to download
- Close nvim
Setup is now complete!
Install:
docker pull ghcr.io/jrodal98/nvim:latest
To run the docker image and to mount the current directory into the spawned container, run:
docker run -v $(pwd):/project -it --rm ghcr.io/jrodal98/nvim:latest
You can put the following alias in your shell rc:
nvim_docker='docker run -v $(pwd):/project -it --rm ghcr.io/jrodal98/nvim:latest'
First, build a base image
docker build . -t ghcr.io/jrodal98/nvim:<version>
Next, run a container
docker run -it --rm --name nvim_docker_base ghcr.io/jrodal98/nvim:<version>
Finally, we must manually complete the build, due to issues with running packer headless.
- Run
nvim
, which will trigger the initial packersync (you may see errors - this is okay) - Close nvim and then run
nvim
again - Install null-ls related packages:
MasonInstall prettierd stylua black isort shfmt shellcheck proselint
- Wait for all the treesitter and mason LSP configs to download
- Outside of the container, open another terminal and run this to save the image:
docker container commit --change='ENTRYPOINT ["/usr/bin/nvim"]' nvim_docker_base ghcr.io/jrodal98/nvim:<version>
To upload it to ghcr without a github action...
docker login ghcr.io
- enter github username and access token
docker tag ghcr.io/jrodal98/nvim:<version> ghcr.io/jrodal98/nvim:latest
docker push ghcr.io/jrodal98/nvim:<version>
docker push ghcr.io/jrodal98/nvim:latest