Add Package
Use devbox add <package> to add packages to the environment.
Automatic Nix Installation
Devbox automatically installs Nix if not detected.
devbox add
Add a package to the project with optional version.
devbox.json Configuration
Central configuration file for defining packages, env, shell hooks, and scripts.
devbox search
Search for available package versions.
devbox update
Disable Built-in Plugins
Disable built-in plugins for packages using disable_plugin field.
Env From
Set environment variables from other sources.
Environment Variables List
Lists environment variables set by Devbox shell and variables for managing Devbox.
Exclude packages from specific platforms
Exclude packages from specific platforms using --exclude-platform flag.
Include
Include other configuration files or modules.
Initialize Project
Run devbox init to create a devbox.json file.
Init Hook
Run commands when the shell initializes.
Isolated Environments
Create isolated development environments on your laptop without virtualization.
Lock File
Commit devbox.lock to ensure reproducible environments.
Package Pinning
Pin specific versions of packages using @version syntax.
Platform-specific package installation
Install packages only on specified platforms using --platform flag.
Portable Environments
Use the same environment definition for local shells, devcontainers, Dockerfiles, and cloud dev environments.
Reproducible Shells
Declare packages in devbox.json and run devbox shell to get the same environment for everyone.
Search Package
Search for available packages with devbox search.
Launch Shell
Start a new shell with packages installed using devbox shell.
Speed
Create environments directly on your laptop without virtualization overhead.
Version Conflict Resolution
Use different versions of the same binary for different projects without conflicts.
Version Management
Devbox can update, rollback, or pin versions using environment variables.
Version Pinning
Install specific package versions with devbox add <package>@<version>.