github jetify-com/devbox 0.4.7

latest releases: 0.13.0, 0.13.0-devrc, 0.13.0-deva...
17 months ago

What's New in This Release

This release includes an update to our Services system, the ability to install packages from Nix Flakes, and improvements to our Direnv Integration. You can view the full release announcement on our blog:

Note: Direnv users may need to regenerate their .envrc file using devbox generate direnv --force. The new .envrc file should perform better, and be more reliable than previous versions

Devbox Services 2.0

  • Devbox Services are now backed by Process Compose, making it easier to start, stop, and manage your services
  • Developers can define their own services using process-compose.yaml. Devbox will automatically detect and run services that are defined in your project's root directory.
  • Use devbox services up to start all your services in the foreground with the Process Compose UI, or start them in the background with devbox services up -b
  • Start, stop, and restart services with devbox services start|stop|restart. Stop all your projects with devbox services stop --all-projects

Flake Support

  • You can now install software from Nix Flakes by adding them to the packages in your devbox.json.
  • Devbox supports installing packages from Github hosted flakes (including NixOS/nixpkgs), or from local flakes.
  • Example flake references:
    {
     "packages": [
          // Add the default package from a Github hosted flake
         "github:numtide/flake-utils", 
          // Install a specific attribute or package from a Github hosted flake
         "github:nix-community/fenix#stable.toolchain", 
          // Install a package from a specific channel of Nixpkgs
         "github:nixos/nixpkgs/21.05#hello",
         // Install a package from a local flake. 
         // This should point to a directory that contains a flake.nix file.
         "path:../my-flake#my-package" 
      ]
    }

Direnv Improvements

  • Speed up start up performance by removing use nix .devbox/gen/shell.nix from the generated .envrc file.
  • Devbox now runs init_hooks as part of our .envrc hook.
  • Devbox will now ensure that the packages specified in your devbox.json are installed when generating your .envrc.

Special Thanks To:

What's Changed

  • all: upgrade to Go 1.20, upgrade all dependencies by @gcurtis in #862
  • ci: create Sentry release by @gcurtis in #861
  • chore: update descriptions for commands by @hezhizhen in #847
  • [vscode extension] Updated readme and changelog for v0.0.5 by @mohsenari in #853
  • boxcli,nix: some better error messages by @gcurtis in #855
  • Fix typo in installing_devbox.mdx by @parviste in #857
  • Migrate services to process-compose by @Lagoja in #836
  • [Readme] Moved install to above benefits by @mohsenari in #863
  • chore: go mod tidy by @hezhizhen in #864
  • chore: simplify global commands by @hezhizhen in #865
  • Skip interactive survey if devbox is not executed in a terminal by @LucilleH in #867
  • [devbox] generate script files when we generate shell files by @savil in #868
  • List Services and Status via Process Compose by @Lagoja in #870
  • Add init hook flag to shellenv command by @LucilleH in #871
  • [wrappers] Don't re-source shellenv if already sourced by @mikeland86 in #872
  • [vscode extension] update README by @hezhizhen in #877
  • [flakes] Add ability to add custom local flakes to devbox project by @mikeland86 in #866
  • [examples] Update dependencies by @mikeland86 in #878
  • [easy][examples] Update more deps by @mikeland86 in #879
  • [nix] Re-add profile to path by @mikeland86 in #882
  • [bin-wrappers] Use shellenv command in binwrappers by @mikeland86 in #876
  • set HOME for testscripts by @savil in #875
  • [vscode-extension] Added better error messages and debugs for openinvscode by @mohsenari in #887
  • nixstore: Nix expression for generating a nixpkgs index by @gcurtis in #885
  • [tests] Tests should not modify config by @mikeland86 in #883
  • [nix] Allow github flakes in devbox.json by @mikeland86 in #888
  • [cleanup] delete unused shell.nix and development.nix templates by @savil in #891
  • nixstore: add package for querying and resolving Nix store paths by @gcurtis in #884
  • chore: get config path from --config only by @hezhizhen in #889
  • [devbox] Make stack-examples using Postgres actually work by @savil in #874
  • [examples] enable stacks-django and rust examples to pass by @savil in #880
  • [example tests] generate "set -e" to exit scripts upon failure by @savil in #869
  • [shell] source the hooks file in shellrc by @savil in #890
  • bring back shell.nix, but keep development.nix deleted by @savil in #895
  • Bump nokogiri from 1.14.2 to 1.14.3 in /examples/stacks/rails/blog by @dependabot in #893
  • Multi-instance Process Compose by @Lagoja in #873
  • [devbox] add .envrc file to repo by @savil in #899
  • [lockfile] Add hidden lockfile for caching by @mikeland86 in #897
  • [perf] Only compute print-dev-env if needed by @mikeland86 in #898
  • [vscode-extension] Prep for version 0.0.6 release of vscode extension by @mohsenari in #903
  • [direnv] drop shell.nix, rely solely on devbox shell --print-env by @savil in #902
  • [examples tests] insert one second sleep for services to initialize by @savil in #904
  • [cicd] bump timeouts for cli-tests by @savil in #905
  • [CICD] stream go test output, and turn off DEVBOX_DEBUG for example tests by @savil in #906
  • [CICD] Don't run example tests on mac by @mikeland86 in #907
  • Use vars context for Sentry project + org by @Lagoja in #908
  • [direnv] run init-hooks in envrc, and generate shell files prior to gen envrc by @savil in #910
  • [devbox] add hidden all command to list all sub-commands (including hidden) by @savil in #901
  • [direnv] add quotations around devbox-shellenv-init-hook call by @savil in #913

New Contributors

Full Changelog: 0.4.6...0.4.7

Don't miss a new devbox release

NewReleases is sending notifications on new releases.