devenv 1.8: Progress TUI, SecretSpec Integration, Listing Tasks, and Smaller Containers
devenv 1.8 fixes a couple of annoying regressions since the 1.7 release, but also includes several new features:
- Progress TUI with async core
- SecretSpec integration for declarative secrets management
- Task improvements with task listing
- CLI improvements with package options support
- Smaller containers with 67% smaller images
Progress TUI
Section titled “Progress TUI”We’ve rewritten our tracing integration to improve reporting on what devenv is doing.
More importantly, devenv is now fully asynchronous under the hood, enabling parallel execution of operations. This means faster performance in scenarios where multiple independent tasks can run simultaneously.
The new progress interface provides real-time feedback on what devenv is doing:

We’re continuing to improve visibility into Nix operations to give you even better insights into the build process.
SecretSpec Integration
Section titled “SecretSpec Integration”We’ve integrated SecretSpec, a new standard for declarative secrets management that separates secret declaration from provisioning.
This allows teams to define what secrets applications need while letting each developer, CI system, and production environment provide them from their preferred secure provider.
Learn more in Announcing SecretSpec Declarative Secrets Management.
Task improvements
Section titled “Task improvements”Listing tasks
Section titled “Listing tasks”The devenv tasks list command now groups tasks by namespace, providing a cleaner and more organized view:
$ devenv tasks listbackend: └── lint (has status check) └── test └── build (watches: src/backend/**/*.py)deploy: └── productiondocs: └── generate (watches: docs/**/*.md) └── publishfrontend: └── lint └── test (has status check) └── buildRunning multi-level tasks
Section titled “Running multi-level tasks”You can now run tasks at any level in the hierarchy. By default, tasks run in single mode (only the specified task):
# Run only frontend:build (default single mode)$ devenv tasks run frontend:buildRunning tasks frontend:buildSucceeded frontend:build 5ms1 Succeeded 5.75ms
# Run frontend:build with all its dependencies (before mode)$ devenv tasks run frontend:build --mode beforeRunning tasks frontend:buildSucceeded frontend:lint 4msSucceeded frontend:test 10msSucceeded frontend:build 4ms3 Succeeded 20.36ms
# Run frontend:build and all tasks that depend on it (after mode)$ devenv tasks run frontend:build --mode afterRunning tasks frontend:buildSucceeded frontend:build 5msSucceeded deploy:production 5ms2 Succeeded 11.44msCLI improvements
Section titled “CLI improvements”Package options support
Section titled “Package options support”The CLI now supports specifying single packages via the --option flag (#1988). This allows for more flexible package configuration directly from the command line:
$ devenv shell --option "languages.java.jdk.package:pkg" "graalvm-oracle"Container optimizations
Section titled “Container optimizations”The CI container ghcr.io/cachix/devenv/devenv:v1.8 has been reduced (uncompressed) from 1,278 MB in v1.7 to 414 MB in v1.8—that’s a reduction of over 860 MB (67% smaller!).
This makes devenv container much faster to pull and more efficient in CI/CD pipelines.
Thank You
Section titled “Thank You”Join our Discord community to share your experiences and help shape devenv’s future!
Domen

