github jetify-com/devbox 0.4.0
0.4.0: Devbox Global, Unified Env, and more

latest releases: 0.13.2, 0.13.1, 0.13.0...
19 months ago

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 Packages

Devbox Global allows you to add packages to a global devbox.json. This is useful for installing a standard set of tools you want to use across multiple Devbox Projects. You can also use Devbox Global to install and manage packages on your Host OS, as a substitute for tools like brew or apt-get

devbox_global

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.

Learn more about Devbox Global

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

  • 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 run date in your Devbox shell, even if you have not created a script with that name.

Special thanks to:
@hezhizhen for contributing a PR to this release
@gfriloux, @worldofgeese, @mindreframer for reporting issues addressed in this release

What's Changed

  • Add some basic devbox run testscript tests by @ipince in #632
  • Set PATH prepend after user init file runs by @ipince in #634
  • tmpl: run nixpkgs-fmt on nix files by @gcurtis in #636
  • Add tests for PATH setting in run by @ipince in #633
  • [dependabot] Fix vulnerability in example by @mikeland86 in #638
  • [direnv] Added support for config envs in direnv by @mohsenari in #626
  • [global] Implement simple global pull by @mikeland86 in #630
  • [global] Move global to XDG_DATA_HOME by @mikeland86 in #637
  • Include some more shell-specific vars, remove nix shell hook by @ipince in #635
  • Prevent shell inception when using print-dev-env by @ipince in #640
  • [refactor]: make getGithubUsername clearer by @hezhizhen in #641
  • boxcli: add devbox global shellenv command by @gcurtis in #644
  • Add testscript tests for config env vars by @ipince in #643
  • Deprecate shell -- in favor of run by @ipince in #642
  • Add tests for env var application order by @ipince in #645
  • Add tests for passing args to run scripts by @ipince in #647
  • [flake] php extensions example project by @savil in #631
  • Update devbox run help text by @ipince in #517
  • Remove dot from flag help text by @ipince in #649
  • Fix cli-release badge by @ipince in #653
  • Add testscript tests for PATH setting by @ipince in #646
  • Bump golang.org/x/net from 0.2.0 to 0.7.0 by @dependabot in #654
  • [generate] Fixed permission issue for generated dockerfile by @mohsenari in #657
  • Add shellrc tests for unified env by @ipince in #660
  • Write shellrc file on fish (unified env) by @ipince in #661
  • [flakes] generate flake.nix file for php-related packages by @savil in #639
  • [services] MVP process manager by @mikeland86 in #659
  • [service-manager] Add more process compose yamls by @mikeland86 in #663
  • Enable unified env by default by @ipince in #650
  • [shellenv] Remove nix profile from path, add shellenv command by @mikeland86 in #667
  • [easy][global] Fix duplicate packages DEV-1281 by @mikeland86 in #672
  • [flakes] remove shell hook by @savil in #671
  • [easy][global] Fix tests when global pkgs exist DEV-1280 by @mikeland86 in #673
  • [flakes] enable unfree packages by @savil in #670
  • Add support for fish by @ipince in #669
  • [stderr] Fix a few prints that were going to out instead of err DEV-1282 by @mikeland86 in #674
  • [nix] create common ExperimentalFlags function by @savil in #678
  • Add Pip Docs by @Lagoja in #664
  • Add Django Example Docs by @Lagoja in #676
  • Unhide Global by @Lagoja in #683
  • Fix whitespace in fish shellrc template by @ipince in #686

Full Changelog: 0.3.4...0.4.0

Don't miss a new devbox release

NewReleases is sending notifications on new releases.