Skip to content

Releases: jetify-com/devbox

0.2.2-dev

13 Jan 20:01
c7d47b1
Compare
Choose a tag to compare
0.2.2-dev Pre-release
Pre-release
0.2.2 Pre-release

0.2.1: Fish Support, Caddy + Redis plugins, Direnv and More

13 Jan 00:15
45c670b
Compare
Choose a tag to compare

What's new in 0.2.1

This release contains a several bug fixes, improvements and user requests from our last release. In addition to various workflow improvments, it adds shell support for Fish, new Devbox Plugins for Caddy + Redis, and much more

Thank you to everyone who filed issues and contributed to the release!

Changes

  • Fish Support!
    • Developers who use Fish can now start devbox shell, execute scripts with devbox run, and start services using devbox services start
    • This should address Issue #401
  • New Plugins
  • Plugin Improvement:
    • postgresql now uses PGHOST to set a local Linux Socket
  • Direnv Integration Improvements
    • We now generate a .envrc file on init, and will prompt you to activate direnv if we detect it on your system.
    • Our .envrc file can now set environment variables from plugins.
    • Other reliability improvements
    • Addresses Issue #408
  • Bash + devbox run
    • Fixed a bug that kept bash users from running devbox scripts
      • Addresses issue #402
  • Set allowUnfree=true by default. This allows developers to install packages with unfree licenses in Nixpkgs.
    • Addresses issue #409
  • Devbox will now look for Nix binaries using an absolute path, instead of $PATH.
    • This should make WSL and other Nix installations more reliable.
  • Quiet mode
    • Turn off Devbox's status logging when running devbox shell or devbox run using the --quiet flag
      • Addresses issue #406

What's Changed

  • [cloud shell polish] query Github to get username by @savil in #390
  • Updated docs for 0.2.0 by @Lagoja in #393
  • [docs] Update "Installing Devbox" instructions. by @mikenikles in #395
  • [nix] Don't install nix if its already installed DEV-1261 by @mikeland86 in #397
  • [cloud] scp devbox.json to VM, prior to syncing by @savil in #398
  • [cloud VM] prototype updating mutagen status in starship prompt by @savil in #399
  • [cloud] set ssh ControlPath and use it to detect existing VM Host by @savil in #418
  • Add basic Caddy plugin by @Lagoja in #415
  • Add Redis Plugin by @Lagoja in #413
  • [polish] simplify the starship prompt for mutagen status by @savil in #421
  • [planner] New framework for planners by @mohsenari in #385
  • [CLI] Added quiet mode to devbox run, init, and shell by @mohsenari in #414
  • Refactor var filtering; check var in posix way by @ipince in #420
  • Fix typo by @hezhizhen in #419
  • cloud: change ControlMaster to auto and add sockets dir by @gcurtis in #427
  • [cloud | polish] update intro text, and display VM region by @savil in #422
  • nix-flakes etude by @savil in #247
  • Revert "nix-flakes etude (#247)" by @savil in #435
  • [CLI] Quiet mode for all commands by @mohsenari in #431
  • Add issue template for bug reports by @loreto in #433
  • flakes etude (with gating fix) by @savil in #436
  • [Generate] Added devbox generate direnv command by @mohsenari in #437
  • Enable all users to install unfree packages by @savil in #428
  • [nix] attempt to source nix startup files if not in path by @mikeland86 in #426
  • [plugins] Make postgresql use local socket by @mikeland86 in #434
  • Auto-generate .envrc at devbox init by @mohsenari in #438
  • [cloud] Very basic port forwarding by @mikeland86 in #444
  • [cleanup] rename configDir to projectDir by @savil in #445
  • Added prompt for direnv allow after .envrc by @mohsenari in #439
  • [cleanup] devbox cloud: rename configDir to projectDir by @savil in #446
  • Extract shell-specific init file injection into own func by @ipince in #424
  • [cleanup] nix/shell: rename configDir to projectDir by @savil in #447
  • Return exit code of the exec call by @devholic in #441
  • [cloud] emulate user's local directory structure in VM by @savil in #440
  • [cleanup] plugin framework: rename rootDir to projectDir by @savil in #448
  • [auth] save Github username to local file by @savil in #429
  • Update sentry to avoid logging errors from os exec commands by @LucilleH in #449
  • [cloud] improve mutagen session name sanitization by @savil in #451
  • [plugins] Join hash -r and source message and show in yellow by @mikeland86 in #452
  • [direnv] Fixed .envrc file to emulate nix-shell env by @mohsenari in #453
  • Bump json5 from 2.2.1 to 2.2.3 in /docs/app by @dependabot in #443
  • [services] Ensure services have env vars + cleanup by @mikeland86 in #454
  • [CICD] Update latest version in s3 by @LucilleH in #450
  • Refactor sentry logic and fix bug by @loreto in #455
  • [direnv] Added env variables from plugins to direnv by @mohsenari in #458
  • Persist devbox binary version in shell session if version is pinned by @LucilleH in #459
  • Adds code to call nix print-dev-env by @ipince in #456
  • Put call to run_script at the end, to unbreak bash by @ipince in #463
  • [direnv] Fix a bug with devbox shell enabled & direnv by @mohsenari in #460
  • [cloud] Implement port forwarding using mutagen by @mikeland86 in #461
  • Docs for 0.2.1 by @Lagoja in #465
  • Fix devbox run for fish and possibly other shells by @ipince in #464

New Contributors

Full Changelog: 0.2.0...0.2.1

0.2.0: Automatic Nix Installer, Plugins, and Background Services

20 Dec 22:33
76d75a7
Compare
Choose a tag to compare

Automatic Nix Installer

One major piece of feedback we received from early customers (especially those who were unfamiliar with Nix) was that they found the initial installation of the Nix Package Manager confusing and challenging. To reduce this friction in getting started, Devbox can now automatically Nix if we do not detect it on your Machine. Developers can now get up and running with Devbox using a single installer.

Devbox will try to detect Nix during installation, or when running a command that requires Nix (such as devbox add or devbox shell ). If we don’t find an installation of Nix on your machine, we will prompt you to install it using the default configuration for your operating system.

Instant package configuration with Devbox Plugins

We outlined our approach to package configuration in our blog post Do Repeat Yourself: Global Packages Considered Harmful. We aim to provide Nix's immutability and isolation while allowing developers to configure their projects locally.

This release has the first version of what we're calling Devbox Plugins. Plugins bundle default configuration (like environment variables, configuration files, and services) with packages and apply it when you install them with devbox add. Plugins make getting started with packages like NGINX or Postgresql much faster.

Let's try adding Nginx to our Devbox shell. When we run devbox add nginx, Devbox will use the Nginx plugin to configure our environment and create a default nginx.conf file for our project. The plugin will also add a service to our shell (see below), so we can quickly start and stop Nginx when testing our project:

Our initial release includes plugins for the following packages, with many more to come.

We are also planning to open and provide a public repo for plugins, so developers can contribute plugins, or even add their own private plugins to Devbox.

Manage your background services with Devbox

When working on an application, you often want some services or dependencies running in the background for testing. Take a web app as an example. While working on your application, you will want to test it against a running development server and database. Previously developers would manage these services via tools like Docker Compose or orchestrating them manually.

Devbox 0.2.0 includes a devbox services subcommand for starting and stopping services within your Devbox Shell. Packages installed in your shell that have services configured via a Devbox Plugin will appear when you run devbox services ls. You can start these services using devbox start and stop them using devbox stop.

Right now, developers can only configure services via plugins. Future releases will make it possible to define and manage services in your project's devbox.json.

Generate Dockerfiles and Devcontainers from the devbox CLI

You can now generate a generic Dockerfile or Devcontainer for your project using the devbox generate command. These Dockerfiles make it easy to build your Devbox Shell environment as a portable container, so you can develop your project anywhere.

For more information, consult our CLI Reference

What's Changed

  • [cloud] set KeepAlive setting for ssh to vm by @savil in #345
  • Remove Build Docs, add Example Docs by @Lagoja in #347
  • [nix] Improve nix installer by @mikeland86 in #350
  • Added devbox generate devcontainer command by @mohsenari in #346
  • [services] Add services to package configs (plugins) by @mikeland86 in #353
  • [cloud] ssh shim part 1: generate shim files by @savil in #348
  • [cloud] ssh shim part 2: invoke ssh by @savil in #349
  • [cloud] ssh shim part 3: invoke scp by @savil in #351
  • [services] Allow running services out of shell by @mikeland86 in #354
  • [php] Remove v1 planner, add composer definition to v2 by @mikeland86 in #359
  • [extension] Generate the same devcontainer files as CLI by @mohsenari in #357
  • [cloud] ssh shim part 4: detect stopped vm, and terminate mutagen sessions by @savil in #352
  • [cloud] ssh shim part 5: run own mutagen daemon by @savil in #355
  • [midcobra] add executionID by @savil in #358
  • [CLI] Changed devbox generate to devbox generate debug by @mohsenari in #364
  • Move several packages to internal/ by @loreto in #365
  • Refactor location of more files by @loreto in #367
  • openssh: add host keys for gateway[.dev].devbox.sh by @gcurtis in #360
  • [nix] nix install without using daemon flag DEV-1266 by @mikeland86 in #368
  • [add] Show better message if package is missing. Specify exact version after installing by @mikeland86 in #370
  • [sshshim] add sentry without using middleware by @savil in #366
  • [plugins] Move conf files out of .devbox and more DEV-1259 DEV-1258 by @mikeland86 in #362
  • [plugins] Only create devbox.d files on add by @mikeland86 in #369
  • Track panics in sentry by @LucilleH in #372
  • [cloud] enable multiple projects opening shells in same VM by @savil in #371
  • [sshshim] turn on gate by @savil in #376
  • [UX] Improve post-install readme, improve message if package not found by @mikeland86 in #375
  • [refactor] Rename and move pkgcfg to plugins by @mikeland86 in #380
  • [services] Start/stop multiple services DEV-1270 by @mikeland86 in #381
  • openssh: improve command errors and debug logging by @gcurtis in #377
  • Small improvements to telemetry by @loreto in #379
  • openssh: update SSH config when DEVBOX_GATEWAY is set by @gcurtis in #378
  • [plugins] Use relative paths or env variables in configs DEV-1272 by @mikeland86 in #382
  • [features] Enable plugins and nix install by @mikeland86 in #383
  • [planners] removed build planners by @mohsenari in #384
  • [cloud shell] respect gitignore file in --config directory to limit large data syncs by @savil in #387
  • [cloud shell] always ignore .devbox directory by @savil in #388
  • [cloud shell] skip comments and empty lines when adding --ignore to mutagen by @savil in #391
  • Add a Plugin Request Template by @Lagoja in #392
  • [extension] Updated readme and changelog + bumped version by @mohsenari in #394
  • [plugins] Add init hook to plugins. Add ruby gem bin to path DEV-1271 by @mikeland86 in #389

Full Changelog: 0.1.2...0.2.0

Devbox 0.1.3 Pre-release

16 Dec 18:56
437290b
Compare
Choose a tag to compare
Pre-release

One Step Installation for Nix and Devbox

One major piece of feedback we received from early customers (especially those who were unfamiliar with Nix) was that they found the initial installation of the Nix Package Manager confusing and challenging. To reduce this friction in getting started, Devbox can now automatically Nix if we do not detect it on your Machine. Developers can now get up and running with Devbox using a single installer.

Devbox will try to detect Nix during installation, or when running a command that requires Nix (such as devbox add or devbox shell ). If we don’t find an installation of Nix on your machine, we will prompt you to install it using the default configuration for your operating system.

Instant package configuration with Devbox Plugins

We outlined our approach to package configuration in our blog post Do Repeat Yourself: Global Packages Considered Harmful. We aim to provide Nix's immutability and isolation while allowing developers to configure their projects locally.

This release has the first version of what we're calling Devbox Plugins. Plugins bundle default configuration (like environment variables, configuration files, and services) with packages and apply it when you install them with devbox add. Plugins make getting started with packages like NGINX or Postgresql much faster.

Let's try adding Nginx to our Devbox shell. When we run devbox add nginx, Devbox will use the Nginx plugin to configure our environment and create a default nginx.conf file for our project. The plugin will also add a service to our shell (see below), so we can quickly start and stop Nginx when testing our project:

Our initial release includes plugins for the following packages, with many more to come.

We are also planning to open and provide a public repo for plugins, so developers can contribute plugins, or even add their own private plugins to Devbox.

Manage your background services with Devbox

When working on an application, you often want some services or dependencies running in the background for testing. Take a web app as an example. While working on your application, you will want to test it against a running development server and database. Previously developers would manage these services via tools like Docker Compose or orchestrating them manually.

Devbox 0.1.3 includes a devbox services subcommand for starting and stopping services within your Devbox Shell. Packages installed in your shell that have services configured via a Devbox Plugin will appear when you run devbox services ls. You can start these services using devbox start and stop them using devbox stop.

Right now, developers can only configure services via plugins. Future releases will make it possible to define and manage services in your project's devbox.json.

Generate Dockerfiles and Devcontainers from the devbox CLI

You can now generate a generic Dockerfile or Devcontainer for your project using the devbox generate command. These Dockerfiles make it easy to build your Devbox Shell environment as a portable container, so you can develop your project anywhere.

For more information, consult our CLI Reference

What's Changed

  • [cloud] set KeepAlive setting for ssh to vm by @savil in #345
  • Remove Build Docs, add Example Docs by @Lagoja in #347
  • [nix] Improve nix installer by @mikeland86 in #350
  • Added devbox generate devcontainer command by @mohsenari in #346
  • [services] Add services to package configs (plugins) by @mikeland86 in #353
  • [cloud] ssh shim part 1: generate shim files by @savil in #348
  • [cloud] ssh shim part 2: invoke ssh by @savil in #349
  • [cloud] ssh shim part 3: invoke scp by @savil in #351
  • [services] Allow running services out of shell by @mikeland86 in #354
  • [php] Remove v1 planner, add composer definition to v2 by @mikeland86 in #359
  • [extension] Generate the same devcontainer files as CLI by @mohsenari in #357
  • [cloud] ssh shim part 4: detect stopped vm, and terminate mutagen sessions by @savil in #352
  • [cloud] ssh shim part 5: run own mutagen daemon by @savil in #355
  • [midcobra] add executionID by @savil in #358
  • [CLI] Changed devbox generate to devbox generate debug by @mohsenari in #364
  • Move several packages to internal/ by @loreto in #365
  • Refactor location of more files by @loreto in #367
  • openssh: add host keys for gateway[.dev].devbox.sh by @gcurtis in #360
  • [nix] nix install without using daemon flag DEV-1266 by @mikeland86 in #368
  • [add] Show better message if package is missing. Specify exact version after installing by @mikeland86 in #370
  • [sshshim] add sentry without using middleware by @savil in #366
  • [plugins] Move conf files out of .devbox and more DEV-1259 DEV-1258 by @mikeland86 in #362
  • [plugins] Only create devbox.d files on add by @mikeland86 in #369
  • Track panics in sentry by @LucilleH in #372
  • [cloud] enable multiple projects opening shells in same VM by @savil in #371
  • [sshshim] turn on gate by @savil in #376
  • [UX] Improve post-install readme, improve message if package not found by @mikeland86 in #375
  • [refactor] Rename and move pkgcfg to plugins by @mikeland86 in #380
  • [services] Start/stop multiple services DEV-1270 by @mikeland86 in #381
  • openssh: improve command errors and debug logging by @gcurtis in #377
  • Small improvements to telemetry by @loreto in #379
  • openssh: update SSH config when DEVBOX_GATEWAY is set by @gcurtis in #378
  • [plugins] Use relative paths or env variables in configs DEV-1272 by @mikeland86 in #382
  • [features] Enable plugins and nix install by @mikeland86 in #383

Full Changelog: 0.1.2...0.1.3-dev

0.1.2

07 Dec 20:07
f520cc5
Compare
Choose a tag to compare

New Features

Devbox Scripts in Devbox Shell

You can now run devbox scripts from inside of a devbox shell. Previously, this would trigger an error about starting shells within shells. Now, if you run a script from within a devbox shell using devbox run <script>, devbox will run the command within your existing shell without trying to start a new shell

Example Docs

New Example Docs have been published to the Devbox Docs site -- these examples show how you can create dev environments for different languages, tools, and stacks using Devbox. The docs can be found here. You can also browse our examples repo at https://github.com/jetpack-io/devbox-examples/

Deprecating and Removing Devbox Build

devbox build and our automatic planners are now deprecated and removed. An upcoming release will enable developers to generate a container based on their devbox shell. This feature was removed due to low usage and poor performance, and due to a desire to focus on creating dev environments with devbox shell.

This release also includes some in progress work for automatic package configuration, nix installation, and Devbox Cloud.

Special thanks to @dritter and @boothb for their contributions to this release!

Changelog

  • [nixpkgs version] update test devbox.json files with the autoupgrade by @savil in #278
  • ci: truncate long k8s namespace names by @gcurtis in #272
  • Add golangci-lint to devbox.json by @ipince in #273
  • golangci-lint offending line is displayed in error logs by @ipince in #274
  • Bump loader-utils from 2.0.2 to 2.0.4 in /docs/app by @dependabot in #280
  • Fixed terminal commands not running when closed by @mohsenari in #283
  • Added changelog for V0.0.2 by @mohsenari in #286
  • Added github action for vscode extension release by @mohsenari in #282
  • vscode extension terminal behavior fixes + readme update by @mohsenari in #287
  • referencing vscode token from env variable by @mohsenari in #289
  • [pkgcfg] Add postgresql config by @mikeland86 in #295
  • [bug] Fix bug where symlink does not get overriden correctly by @mikeland86 in #296
  • [pkgcfg] Allow for wildcards in package config filenames by @mikeland86 in #297
  • Fixed github action workflow publishing vscode extension by @mohsenari in #294
  • [pkgcfg] Add nginx config by @mikeland86 in #299
  • [bug] Fix nil pointer dereference in go planner by @ipince in #301
  • [pkgcfg] Add ruby config by @mikeland86 in #298
  • [dependabot] Fix vulnerability by @mikeland86 in #303
  • [config-directory] run shell.initHooks and shell.scripts relative to --config dir by @savil in #302
  • s/COnfig/config typo fix by @savil in #304
  • rename srcDir to configDir for clarity by @savil in #305
  • [pkgcfg] Add Apache httpd config by @mikeland86 in #300
  • [pkgcfg] Show readme when adding packages. Add info command by @mikeland86 in #306
  • [pkgcfg] Add rustup config json by @mikeland86 in #307
  • [pkgcfg] python config (readme) by @mikeland86 in #308
  • [devbox] Add client code for devbox cloud by @loreto in #310
  • Respect nixpkgs commit in devbox add by using nix search by @savil in #314
  • [pkgcfg] Embed config instead of using GitHub by @mikeland86 in #320
  • Small fixes for devcontainers in WSL by @mohsenari in #315
  • [pkgcfg] Add php extension support by @mikeland86 in #309
  • add gateway subdomains to sshconfig to avoid StrictHostKeyChecking by @savil in #323
  • [cloud] ensure devbox.json exists and pass devbox struct to cloud.Shell functions by @savil in #321
  • [devbox testdata] improve rust testdata's init script to work over ssh by @savil in #326
  • [pkgcfg] Remove config if package is removed by @mikeland86 in #324
  • Point the cli to the production gateway by @loreto in #327
  • Rename CICD workflows to be more descriptive by @loreto in #328
  • [featureflags] Simplify feature flags by @mikeland86 in #325
  • Bumping vscode extension version by @mohsenari in #330
  • [cloud] client directly calls start_devbox_server.sh by @savil in #329
  • [pkgcfg] Ensure php-fpm works out of the box by @mikeland86 in #334
  • Add packages info in telemetry to get better understanding by @LucilleH in #333
  • deprecate devbox build + hide devbox plan by @mohsenari in #336
  • Add sentry error reporting to telemetry by @LucilleH in #335
  • cloud: use unique SSH keys per VM by @gcurtis in #340
  • devbox run inside shell by @mohsenari in #331
  • [nix] Add nix install command by @mikeland86 in #337
  • [pkgcfg] show shims and env variables in info command. Add markdown flag by @mikeland86 in #341
  • [config] update default nixpkgs commit to most recent nixos-22.11 by @savil in #344
  • [nix-installer] auto-install nix if we detect it's missing by @mikeland86 in #343

New Contributors

Full Changelog: 0.1.1...0.1.2

0.1.1 - Run Scripts, pin Nixpkg SHA

10 Nov 23:28
f098578
Compare
Choose a tag to compare

Release 0.1.1 includes two major new features: package pinning and executing scripts with devbox run

New Features

Pin Nixpkgs in your Devbox.json

You can now pin an exact version of the Nixpkg repository for installing packages. This feature is useful for pinning the versions of the packages installed by Devbox, or for selecting packages from older revisions of Nixpkg.

To pin the Nixpkg version, add the commit of the Nixpkg repo that you want to use in your devbox.json.

"nixpkgs": {
    "commit": "89f196fe781c53cb50fef61d3063fa5e8d61b6e5"
}

If you leave the commit unset, Devbox will automatically add a default Nixpkg commit to your devbox.json when you run a command that reads your devbox.json like devbox add. You can update your project to the latest default by deleting the commit hash from your devbox.json.

For more details, see the Nixpkg pinning guide on our docs page.

Running Scripts in Devbox Shell

Developers can now define scripts in their devbox.json, and execute them in their Devbox Shell using devbox run. Scripts are defined by providing a name, and a command or list of commands for Devbox to run.

"shell": {
        "init_hook": [
            "source conf/set-environmen.sh",
            "rustup default stable",
            "cargo fetch"
        ],
        "scripts": {
            "test": "cargo test -- --show-output",
            "start" : "cargo run",
        }
    }

You can then execute your scripts using devbox run <script_name>. Devbox will then start an interactive shell, run your init_hook, run the script, and then exit when the script completes or is interrupted by CTRL-C. For example:

$ devbox run start

Installing nix packages. This may take a while... done.
Starting a devbox shell...
project dir is /Users/johnlago/src/devbox-examples/development/rust/rust-stable-hello-world/conf
info: using existing install for 'stable-aarch64-apple-darwin'
info: default toolchain set to 'stable-aarch64-apple-darwin'

  stable-aarch64-apple-darwin unchanged - rustc 1.64.0 (a55dd71d5 2022-09-19)

    Finished dev [unoptimized + debuginfo] target(s) in 0.00s
    Running `target/debug/rust-stable-hello-world`

Hello, world!

$

For more information and tips on how to use Devbox scripts, see the scripts guide in our docs page.

Bug Fixes

  • Fixed a bug where not all zsh startup files were included in a developer's shellrc (#250)
  • Fixed a PkgExists panic for some missing packages (#249)

What's Changed

  • nix: fix PkgExists panic for some missing packages by @gcurtis in #249
  • [feature-flag] Add simple feature flag package by @mikeland86 in #251
  • [devbox shell] ensure all zsh startup files are linked to ZDOTDIR by @savil in #250
  • [nipkgs version] add feature flag and write to devbox.json if missing by @savil in #252
  • [pkgcfg] Create new pkgckg that can load local config by @mikeland86 in #253
  • [nixpkgs version] change field from version to commit; add validation by @savil in #256
  • [nixpkgs version] generate nix files containing the nixpkgs version from config by @savil in #258
  • [nixpkgs version] devbox init should add default nixpkgs commit by @savil in #259
  • [pkg-config] Add bin sym links and add to path by @mikeland86 in #257
  • [feature flag] respect env-var of feature flag (even if turned off) and default enable Nixpkg Version FF by @savil in #266
  • [pkg-config] Implement basic mariadb config by @mikeland86 in #263
  • [pkg-config] Read config from github by @mikeland86 in #264
  • Use for logo light/dark mode by @gcurtis in #260
  • ci: suffix Jetpack preview namespaces with "-ref" by @gcurtis in #271
  • First pass at devbox scripts implementation by @ipince in #254
  • devbox: add PackageStore and Package for querying /nix/store by @gcurtis in #270
  • Docs for Devbox Run and Setting the Commit Sha by @Lagoja in #268
  • vscode extension settings + devcontainer setup + devbox commands by @mohsenari in #262
  • Unhide devbox run by @ipince in #275

Full Changelog: 0.1.0...0.1.1

0.1.1-dev

10 Nov 23:00
2118019
Compare
Choose a tag to compare
0.1.1-dev Pre-release
Pre-release
0.1.1-dev

0.1.0

25 Oct 22:59
adda549
Compare
Choose a tag to compare

Release 0.1.0 features some workflow improvements to make devbox shell more reliable, and includes the v1 release of our Visual Studio Code extension.

⚠️ Note: This release may cause some projects to break if they do not explicitly declare their packages in the devbox.json. See Shell Package Suggestions below for more details. You can fix your project by adding the suggested packages with devbox add [packages]

Workflow Improvements

  • Shell Package Suggestions: Devbox will no longer automatically add packages when you run devbox shell. Instead Devbox will suggest packages that may be missing from your shell and prompt you to add them. This feature was changed due to reports of conflicts between user installed packages and auto installed packages.

    • For example, if I try to start a shell in my Python project without adding the python3 package:
    ➜  devbox shell                                                                                                                                                                                                       
    Installing nix packages. This may take a while...done.
    We detected extra packages you may need. To install them, run `devbox add python3`
    Starting a devbox shell...

    I can then add the missing packages by running the suggestion:

    ➜  devbox add python3
    Installing nix packages. This may take a while...done.
    python3 is now installed. Run `hash -r` to ensure your shell is updated.
    `
  • VSCode Extension: You can now automatically activate your Devbox Shells in VSCode’s integrated terminal by installing the Devbox VSCode extension. More features will be added in upcoming releases
  • --config flag: You can choose a specific devbox.json to use with devbox shell using this flag. This can be useful for situations where your devbox.json is in a different folder, or when you want to have multiple devbox.json files for a single project
  • Devbox now warns you when you are attempting to remove a non-existent package from your devbox.json

Changelog

What's Changed

Full Changelog: 0.0.11...0.1.0

0.0.11

13 Oct 20:30
f9b922c
Compare
Choose a tag to compare

New Feature

  • Enabling direnv with devbox. See our docs for more details (#213)

Bug Fix

  • Fixed a bug for how packages are installed using nix (#229)

Changelog

  • f9b922c [shell] add /share and /lib to development.nix (#229)
  • 07739a7 [shell] minimal revert of #222 to bring back shell plans temporarily (#228)
  • 8811ade direnv integration - updating PATH (#213)
  • be10969 Turn off auto-detection for language on devbox shell (#222)

0.0.10

06 Oct 21:41
e70e25e
Compare
Choose a tag to compare

Bug Fixes

  • Polish improvements for how packages are installed via nix (#215, #210, #220, #221)
  • Fixed a bug that would cause builds to fail for NodeJS Planner (#212)
  • Fixed a bug where Python packages installed as Nix packages could not be found in PYTHONPATH (#218)

Changelog

  • [Bug] Fix bash regression for PATH by @LucilleH in #207
  • [nodejs planner] InputFiles should take paths relative to devbox.json, and not combined with srcDir by @savil in #212
  • [Fix] Ensure python sys path contains nix installed modules by @mikeland86 in #218
  • [RFC] move gitignore file to .devbox directory and ignore gen/profile/shell_history by @savil in #215
  • [shell] move nix-profile into a specific directory inside .devbox directory by @savil in #210
  • fix pipenv test by @savil in #219
  • nix: fix removing user Nix profiles from PATH by @gcurtis in #220
  • devbox: handle paths with spaces by @gcurtis in #221

Full Changelog: 0.0.9...0.0.10