A fully configured Vim/Neovim environment you can safely bring wherever you go.
toolbox-vim
contains two components.
First, it is a container image, e.g. docker.io/mattjmcnaughton/toolbox-vim
, with a fully customized Vim/Neovim experience.
Second, it is a binary responsible for running this container image with all the necessary configuration and settings for a seamless experience.
- Take your vim config (and install) with you where you go.
- Greater control over the environment in which your text editor executes. Limit permissions (i.e. network access, view of the file-system, etc).
- Easier to experiment w/ different Vim configs (with no concern around leaving cruft behind).
toolbox-vim $FILE
We recommend specifying alias vim="toolbox-vim $DEFAULT-PARAMETERS"
.
We allow configuration via environment variable, config file, or direct command line parameters.
The following is a WIP of configuration ideas.
--container-runtime=(docker|podman)
--network-permissions=(none|limited|logged|full)
--network-permissions-allowlist=<URLS>
- Only applicable when
--network-permissions=limited
- Only applicable when
--filesystem-mount=(cwd|git|home|custom)
--filesystem-mount-custom-path=PATH
- Only applicable when
--filesystem-mount=custom
- Only applicable when
--container-uid-override
- By default we use the current user id.
--container-gid-override
- By default we use the current user id.
--enable-ai
- Whether to enable AI assistants.
- See toolbox-vim-image for image configuration.