This release adds a few major new features to Devbox:
Devbox Global lets you add packages to include across all your Devbox Shells
Improved Shell Env ensures better consistency in your Devbox environment across shells and commands
Devbox Global
Our customers tell us that while they love Devbox's isolated, reproducible dev environments, they often install the same tools across all their projects. For some developers, it's time-saving tools like ripgrep
or httpie
. Others use a chain of cloud cli-tools like awscli
or kubectl
to administer multiple devbox projects. In all these cases, developers want these packages available in all their Devbox projects without declaring them in every project.
With Devbox Global, you can install these tools using devbox global add
, and then use them across all my devbox projects.For example — if you use ripgrep as your preferred search tool, you can add it to your global Devbox profile with devbox global add ripgrep
. Now whenever you start a Devbox shell, you will have ripgrep available, even if it's not in the project's devbox.json. You can also use Devbox Global as your primary package manager by sourcing your global profile in your shellrc file.
You can even share your global profile with other developers via a devbox.json
. This can accelerate onboarding by ensuring everyone has the correct packages installed. Your team can quickly add the profile by rinning`devbox global pull and providing either a file name or URL that points to a devbox.json.
Learn more about Devbox Global in our documentation
Improved Shell Env
All shells and commands now use a unified environment to determine the correct environment variables and hooks to run, ensuring that you get a consistent environment wherever you run Devbox. The environment can also be printed via devbox shellenv
Note, if you used an earlier version of Devbox to generate a .envrc
for direnv, you will need to regenerate it using devbox generate .envrc --force
. See our Direnv docs for more details.
Other changes in 0.4.0
All Devbox commands now use a unified environment to determine the correct environment variables and hooks to run, ensuring that you get a consistent environment wherever you run Devbox
Fixed an issue with Fish shell where init_hooks failed to run when starting Devbox Shell
Dockerfiles created with devbox generate now have the correct permissions -
devbox run
can now be used to run arbitrary commands. For example:devbox run date
will rundate
in your Devbox shell, even if you have not created a script with that name.Scripts can now take parameters. For example: if your script is
"cow": "cowsay $@"
, then you candevbox run cow moo
and the cow will say moo
Keep in Touch with Us!
We'd love to hear your feedback and As always, we welcome issues and pull requests on Github. You can also join our Discord Server to chat with the development team and community.