GitHub Repository: https://github.com/build-axis/nvim
Professional, lightweight LazyVim environment in a Docker container. Work with a full IDE setup on any machine while maintaining host file permissions.
- Alpine Linux: Minimal footprint and high performance.
- LazyVim Starter: Pre-configured and ready to use.
- UID/GID Sync: Automatically matches your host user ID to prevent permission issues with edited files.
- Built-in Tools:
ripgrep,fzf,gcc,gcompat, andnodejsfor LSP and Tree-sitter. - OSC52 Clipboard: Seamless copy-paste support, even over SSH.
Run the container to edit the current directory (files created will be owned by your current user):
docker run -it --rm \
-e LOCAL_UID=$(id -u) \
-e LOCAL_GID=$(id -g) \
-v $(pwd):/src \
serh/nvim .To persist your Neovim configuration, plugins, and cache on your host machine:
- Create an alias in your
~/.bashrcor~/.zshrc:
alias dnv='docker run -it --rm \
-e LOCAL_UID=$(id -u) \
-e LOCAL_GID=$(id -g) \
-v $(pwd):/src \
-v ~/.local/share/nvim-docker:/home/editor \
serh/nvim'- Usage:
Simply type
dnvin any project folder:
dnv .Note: On the first run with a new volume, the container will automatically initialize LazyVim config in your host folder.
- User Management: The container uses
su-execto switch fromrootto a user namededitorwith your specificUID/GIDat runtime. - Workdir:
/src(mapped to your project). - Home Directory:
/home/editor(where config and plugins reside). - Clipboard: OSC52 enabled by default. Works out of the box with modern terminals (Alacritty, Kitty, iTerm2).
To verify the setup inside Neovim:
:checkhealth