nem
Manage your development environments with ease.
nem is currently in active development. Expect breaking changes and rough edges. Feedback and contributions are very welcome!
Installation
Install nem using the provided installation script:
curl -fsSL https://raw.githubusercontent.com/vi-dev/nem/main/install.sh | sh
By default, nem is installed to ~/.local/bin. Add this directory to your PATH if it isn't already:
export PATH="$HOME/.local/bin:$PATH"
You can customize the installation directory and version by setting the NEM_INSTALL_DIR and NEM_VERSION environment variables:
# Install to a custom directory
curl -fsSL https://raw.githubusercontent.com/vi-dev/nem/main/install.sh | NEM_INSTALL_DIR=/usr/local/bin sh
# Install a specific version
curl -fsSL https://raw.githubusercontent.com/vi-dev/nem/main/install.sh | NEM_VERSION=v1.2.3 sh
By default, nem uses the public vi-dev/nem-catalog package catalog with no extra setup. Set NEM_USE_DEFAULT_CATALOG=0 (or use-default-catalog: false in ~/.nem/config.yaml) to disable, or run nem catalog add to configure your own.
Source-build packages run their build steps in a sandbox by default. Set
NEM_SANDBOX=0 (or sandbox: false in ~/.nem/config.yaml) to disable it —
builds then run with unrestricted network and filesystem access.
Quick start
nem activate
exec $SHELL
cd ~/code/my-project
nem use kubectl@v1.34.1
kubectl version --client
Activating nem also enables tab completion for the nem command in your shell (bash, zsh, fish). If you don't want to install the shell integration, you can source completions directly with eval "$(nem completion zsh)" (or the equivalent for your shell).
Container image
Signed multi-arch images are published to ghcr.io/vi-dev/nem on every release:
docker run --rm --privileged ghcr.io/vi-dev/nem version
See docs/container.md for information on tag schemes, usages, provenance verification, and more.
Security
See SECURITY.md.
License
MPL-2.0.