Releases: cachix/devenv
Releases · cachix/devenv
v1.11.2
Bug Fixes:
- Fix infinite recursion when using config.env.* in processes conditions (#2278) - Using processes = lib.mkIf
(config.env.X == ...) {...} would cause infinite recursion due to circular dependencies in process-compose.nix. The config is now properly split using
lib.mkMerge. - Fix recursive glob matching for hidden directories (#2286) - Task glob patterns now correctly ignore hidden
files/directories unless explicitly specified. - Fix secretspec breaking with direnv (#2308) - Updated secretspec to 0.4.1.
v1.11.1
What's Changed
Full Changelog: v1.11...v1.11.1
v1.11
What's Changed
- Make it posible to override pre-commit binary by @leiserfg in #2204
- refactor: implement wiring for a richer terminal interface by @sandydoo in #2195
- erlang: upgrade beam and lsp by @sandydoo in #2218
- dev: turn
docs/into a devenv sub-project by @sandydoo in #2221 - devenv-tasks: fix task shutdown using
tokio-shutdownby @sandydoo in #2222 - tasks: add type to support processes by @domenkozar in #2220
- ci: allow overriding the nixpkgs used in tests by @sandydoo in #2208
- scripts: simplify wrapper script by @sandydoo in #2226
- Document .env secret leak to nix store by @pkel in #2228
- tasks: fix process output being red by @domenkozar in #2230
- Inputs from by @domenkozar in #2229
- tasks: fix bug preventing from using non-bash task runners by @sandydoo in #2233
- devenv: improve jobs/cores defaults by @sandydoo in #2227
- Make Crystal and Shards packages configurable by @straight-shoota in #2235
- devenv: add ability to output JSON traces by @sandydoo in #2239
- devenv-generate: patch for CVE-2025-62518 by @sandydoo in #2241
- add nats service and related tests by @onsails in #2240
- tasks: add showOutput option and --show-output flag by @domenkozar in #2231
- feat: add treefmt integration by @tarc in #2238
- refactor: Remove run_nix* from NixBackend trait interface by @domenkozar in #2242
- docs: refactor doc gen to support optional sub-modules by @sandydoo in #2244
- treefmt: make config option definition conditional by @sandydoo in #2247
- containers: build the devenv image using nix and with a non-root user by @sandydoo in #2250
- treefmt: fix conflicting tree-root options when wrapping treefmt by @sandydoo in #2251
- refactor: use struct for passing args to Nix flake template by @domenkozar in #2256
- Add
languages.rust.toolchainFileoption for rust-toolchain.toml support by @tennox in #2257 - refactor: extract Cachix logic into separate module by @domenkozar in #2253
- keycloak: fix health check when using
http-relative-pathby @mrene in #2261 - elixir_ls has been renamed to elixir-ls by @ankhers in #2264
- docs: explain when to use the functional form for profiles by @sandydoo in #2263
- containers: fix the devenv container build by @sandydoo in #2266
- docs: Fix inconsistency in monorepo guide by @dan-os in #2268
- tests: ensure that the base
enterTestconfig comes first by @sandydoo in #2269 - fix: set mprocs procs to use cwd parameter by @c4patino in #2271
- devenv-core & devenv-snix-backend by @domenkozar in #2275
- python: support
withPackageswith venvs and prepare for upstream patch by @sandydoo in #2234 - feat: add profile field to devenv.yaml for setting default profiles by @domenkozar in #2285
- feat: add Treefmt tasks by @shikanime in #2282
- Fix: Docs:
devenv upfails because of missing library: cairo. by @hencjo in #2292 - Clarify contributing-guide: local devenv input by @hencjo in #2291
- git-hooks: support
git-hooksbeing an optional input by @sandydoo in #2295 - tasks: fix race condition causing truncated task output by @domenkozar in #2296
- Docs: Clarify that changes to src/modules does not require rebuilding the binary by @hencjo in #2298
- Introduced new option: services.mongodb.replication by @hencjo in #2293
- flakes: share the same
mkEvalbetween flakes and flake-parts by @sandydoo in #2267 - Add changelogs to modules by @domenkozar in #2300
- nixseparatedebuginfod: new module by @midchildan in #1242
New Contributors
- @pkel made their first contribution in #2228
- @tarc made their first contribution in #2238
- @dan-os made their first contribution in #2268
- @c4patino made their first contribution in #2271
- @shikanime made their first contribution in #2282
- @hencjo made their first contribution in #2292
Full Changelog: v1.10...v1.11
v1.10
Overview
devenv 1.10 brings monorepo support with devenv.yaml imports - the most upvoted feature request #14 with 75 votes!
devenv.yaml Imports with Configuration Merging
- Fixes: #14, #817
- Local imports now load and merge both devenv.nix and
devenv.yaml configurations - Supports proper merge strategies for all configuration fields
- Handles circular imports and nested imports
- Enforces security restrictions on path traversal
- Added comprehensive test coverage with multiple fixture
scenarios
Absolute and Parent Directory Imports
- Fixes: #998
- Paths starting with / are now resolved from your git repository
root - Parent directory imports with ../ are now supported
- Enables consistent references to shared configurations across
nested projects - Improved path normalization and error messages
Git Root Detection
- Fixes: #1850, #316
- New config.git.root variable provides the git repository root
path - Useful for specifying working directories in tasks and
processes - Enables reusing modules across different directories
devenv.local.yaml Support
- Fixes: #817
- Added support for devenv.local.yaml alongside devenv.local.nix
- Automatically git-ignored for developer-specific overrides
- Properly loaded after directory setup via .patch.sh
Full Changelog:
v1.9.2...v1.10
v1.9.2
v1.9.1
What's Changed
- Don't run bun install with
--yarnargument. by @mdarocha in #2147 - Support configurations: nixos/home-manager/nix-darwin by @domenkozar in #2092
- tasks: fix broken restarts for task processes in process-compose by @sandydoo in #2164
- starship: add inline configuration option by @Yethal in #2166
- feat(#1978): implement dark mode for docs site by @euphemism in #2148
- init: add shellcheck directive to default .envrc by @sandydoo in #2146
- feat: add MCP server support to Claude Code integration by @domenkozar in #2161
- scripts: allow setting a path for exec, fixes #17 by @domenkozar in #2168
- doc: Add defaultText for shells..configurations..system by @roberth in #2171
- process-compose: check the socket for liveness before attaching by @sandydoo in #2162
- tasks: use cached build and speed up fallback build by @sandydoo in #2173
- profiles: prevent profiles from overwriting mergeable types like packages by @sandydoo in #2174
- process-compose: remove unreleased
--task-fileoption by @sandydoo in #2181 - ci: refactor the workflows to unblock faster runners by @sandydoo in #2182
- Add documentation on how to enable compilation of binary dependencies. by @dwt in #1625
- Add Helm language support by @Mshnwq in #2167
- flakes: fix infinite recursion when using alternative process managers by @sandydoo in #2183
- docs: Update link to Profiles guide in blog post by @Adda0 in #2184
- docs: Fix GitHub path for nix-index-database in shell session by @Adda0 in #2185
- flake-compat: wire up and expose tasks in the devenv flake wrapper by @sandydoo in #2189
- tasks: support running in an elevated shell by @sandydoo in #2175
- tasks: add property tests by @sandydoo in #2021
- devenv: fix broken spinners in
devenv testand other commands by @sandydoo in #2190
New Contributors
- @Yethal made their first contribution in #2166
- @dwt made their first contribution in #1625
- @Mshnwq made their first contribution in #2167
- @Adda0 made their first contribution in #2184
Full Changelog: v1.9...v1.9.1
v1.9
What's Changed
- mysql: add ensureUsers.*.host option by @mrene in #2046
- tasks: fix task process shutdown by @sandydoo in #2045
- ci: auto-assign-revieweres by @domenkozar in #2047
- stack: instruct it to not use nix as we provide ghc from devenv by @domenkozar in #2039
- fix: revert wrong
UV_PYTHONenv. variable by @gabyx in #2024 - tasks: fix high cpu usage when running certain processes by @sandydoo in #2053
- eval-cache: bust eval-cache when inputs to .devenv.flake.nix change by @sandydoo in #2051
- docs: fix installing in home-manager by @Curious-r in #2054
- feat(postgres): create database's user before running initialSQL by @thesoulless in #2058
- docs: add rust guide by @sandydoo in #2064
- devenv: deprecate feature detection output flags by @sandydoo in #2066
- bump secretspec, bump deps, fix cache-core version by @domenkozar in #2062
- devenv: configure Nix to use the Cachix auth token by @sandydoo in #2070
- rust: drop
-iframeworkflag on darwin by @sandydoo in #2073 - Remove --frozen and --no-install-workspace from default uv.sync arguments by @extrange in #2038
- tasks: support globbing by @domenkozar in #2076
- fix(python): make
uvdiscover the correct python by @gabyx in #2080 - devenv: fix building containers by @sandydoo in #2083
- scripts: support runtime packages by @domenkozar in #2082
- devenv: implement
permittedUnfreePackagesby @sandydoo in #2086 - dynamodb: fix dynamodb health check by @sandydoo in #2087
- devenv: improve how the dotfile path is used in
.devenv.flake.nixby @sandydoo in #2094 - nix: fix several regressions by @sandydoo in #2093
- direnv: pass
DEVENV_CMDLINEto the shell by @sandydoo in #2100 - Fix rubyVersionFile example by @teoljungberg in #2102
- dynamodb: add sharedDb option by @gregg-platogo in #2097
- docs: added pycharm and python integration documentation by @KevinEdry in #2052
- flakes: reload shell on
up/testand remove the need for separate packages by @sandydoo in #2067 - tasks: add json extension and a prefix to the task output file by @sandydoo in #2111
- name: propagate into shell by @domenkozar in #2113
- tests: always override devenv to use local modules by @domenkozar in #2114
- Rust: import functionality by @domenkozar in #1946
- Remove PHP IDE integration section from documentation by @shyim in #2125
- languages.scala: add note about how to change JDK by @earldouglas in #2131
- scripts: fix the
packagesoption by @sandydoo in #2133 - fix yaml syntax by @thomaschrstnsn in #2134
- devenv: update initial devenv.nix by @sandydoo in #2143
- feat(python): add uv sync packages and allPackages options by @domenkozar in #2145
- go: support overriding more pinned go module versions by @sandydoo in #2142
- devenv: support containers on macOS by @sandydoo in #2085
- chore: Add flake-parts input to enable overwrites by users by @friedow in #2153
- process-compose: fix overriding per-process options by @sandydoo in #2158
New Contributors
- @mrene made their first contribution in #2046
- @Curious-r made their first contribution in #2054
- @extrange made their first contribution in #2038
- @teoljungberg made their first contribution in #2102
- @gregg-platogo made their first contribution in #2097
- @KevinEdry made their first contribution in #2052
- @earldouglas made their first contribution in #2131
- @thomaschrstnsn made their first contribution in #2134
- @friedow made their first contribution in #2153
Full Changelog: v1.8.1...v1.9
v1.8.2
This release addresses a number of Nix performance and usability regressions.
What's Changed
- tasks: fix task process shutdown by @sandydoo in #2045
- ci: auto-assign-revieweres by @domenkozar in #2047
- stack: instruct it to not use nix as we provide ghc from devenv by @domenkozar in #2039
- fix: revert wrong
UV_PYTHONenv. variable by @gabyx in #2024 - tasks: fix high cpu usage when running certain processes by @sandydoo in #2053
- eval-cache: bust eval-cache when inputs to .devenv.flake.nix change by @sandydoo in #2051
- docs: fix installing in home-manager by @Curious-r in #2054
- feat(postgres): create database's user before running initialSQL by @thesoulless in #2058
- docs: add rust guide by @sandydoo in #2064
- devenv: deprecate feature detection output flags by @sandydoo in #2066
- bump secretspec, bump deps, fix cache-core version by @domenkozar in #2062
- devenv: configure Nix to use the Cachix auth token by @sandydoo in #2070
- rust: drop
-iframeworkflag on darwin by @sandydoo in #2073 - Remove --frozen and --no-install-workspace from default uv.sync arguments by @extrange in #2038
- fix(python): make
uvdiscover the correct python by @gabyx in #2080 - devenv: fix building containers by @sandydoo in #2083
- dynamodb: fix dynamodb health check by @sandydoo in #2087
- devenv: improve how the dotfile path is used in
.devenv.flake.nixby @sandydoo in #2094 - nix: fix several regressions by @sandydoo in #2093
- direnv: pass
DEVENV_CMDLINEto the shell by @sandydoo in #2100 - Fix rubyVersionFile example by @teoljungberg in #2102
- docs: added pycharm and python integration documentation by @KevinEdry in #2052
- tasks: add json extension and a prefix to the task output file by @sandydoo in #2111
New Contributors
- @Curious-r made their first contribution in #2054
- @extrange made their first contribution in #2038
- @teoljungberg made their first contribution in #2102
- @KevinEdry made their first contribution in #2052
Full Changelog: v1.8.1...v1.8.2
v1.8.1
What's Changed
- Fix docker image by @mykiwi in #2028
- Claude code integration by @domenkozar in #2031
- Processes are now tasks by @domenkozar in #2035
- devenv: fix issues running containers with
devenv container runby @sandydoo in #2034 - Fix clangd error: compile_commands.json not found when enabling languages.c and languages.cplusplus by @Emtyffx in #2029
- devenv: fix legacy container flags test by @sandydoo in #2041
New Contributors
Full Changelog: v1.8...v1.8.1
v1.8
What's Changed
- tasks: source env for when we're running outside of devenv shell by @domenkozar in #1975
- feat: add all-groups for Python dependency by @bigluck in #1976
- task_cache: attempt to fix intermittent test failure by @sandydoo in #1985
- devenv: support
pkgas a type for--optionby @sandydoo in #1988 - devenv: async-ify the core state by @sandydoo in #1970
- devenv: use
lib.mkForcefor--optionoverrides by @sandydoo in #1989 - rust: make the mold linker opt-in by @sandydoo in #1984
- devenv: protect internal Nix builds from untimely GC by @sandydoo in #1993
- tests: test flake-related edge-cases with git repos by @sandydoo in #1995
- devenv: add progress spinners for steps by @sandydoo in #1969
- fix: correctly set UV_PYTHON to the wrapped python interpreter by @mauricege in #1999
- nix: fix several regressions related to git introduced in v1.7 by @sandydoo in #1992
- devenv: fix execing into a shell with
devenv shellby @sandydoo in #2007 - examples: fix tzdir issues with clickhouse by @sandydoo in #2008
- rust: fix toolchain creation with rust-overlay by @sandydoo in #2005
- rust: expose
toolchainPackageand use it correctly override git hooks by @sandydoo in #2011 - tasks: allow running multi-level sub-tasks by @sandydoo in #2018
- rust: allow clippy git-hook to access internet by default by @sandydoo in #2020
- nix: fix a regression where
pathinputs were locked by @sandydoo in #2009 - Integrate secretspec.dev by @domenkozar in #2016
New Contributors
- @bigluck made their first contribution in #1976
- @mauricege made their first contribution in #1999
Full Changelog: v1.7...v1.8