Releases: cachix/devenv
Releases · cachix/devenv
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
--yarn
argument. 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-file
option 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 test
and 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_PYTHON
env. 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
-iframework
flag 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
uv
discover 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
permittedUnfreePackages
by @sandydoo in #2086 - dynamodb: fix dynamodb health check by @sandydoo in #2087
- devenv: improve how the dotfile path is used in
.devenv.flake.nix
by @sandydoo in #2094 - nix: fix several regressions by @sandydoo in #2093
- direnv: pass
DEVENV_CMDLINE
to 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
/test
and 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
packages
option 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_PYTHON
env. 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
-iframework
flag on darwin by @sandydoo in #2073 - Remove --frozen and --no-install-workspace from default uv.sync arguments by @extrange in #2038
- fix(python): make
uv
discover 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.nix
by @sandydoo in #2094 - nix: fix several regressions by @sandydoo in #2093
- direnv: pass
DEVENV_CMDLINE
to 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 run
by @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
pkg
as a type for--option
by @sandydoo in #1988 - devenv: async-ify the core state by @sandydoo in #1970
- devenv: use
lib.mkForce
for--option
overrides 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 shell
by @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
toolchainPackage
and 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
path
inputs 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
v1.7
What's Changed
- tasks: implement run modes by @sandydoo in #1859
- tasks: export devenv-tasks in the flake by @sandydoo in #1869
- tests: add
wait_for_processes
by @sandydoo in #1866 - tasks: implement execIfModified by @domenkozar in #1853
- ci: split up workflows by @sandydoo in #1867
- tasks: move ui bits to separate module by @domenkozar in #1879
- git-hooks: deprecate pre-commit in favour of git-hooks by @sandydoo in #1882
- Uninstall git-hooks when disabled by @jashandeep-sohi in #1751
- docs: break down pros and cons of devenv vs flakes by @sandydoo in #1881
- bump deps by @domenkozar in #1880
- Add DEVENV_CMDLINE envvar by @mcdonc in #1885
- Add services.postgres.initialDatabases.initialSQL config option by @thesoulless in #1886
- Avoid setting TYPST_FONT_PATHS if not explicitly set by @leiserfg in #1890
- services: add keycloak by @gabyx in #1806
- direnv: fix bug causing excessive reloads by @sandydoo in #1893
- Tasks: print stdout/stderr in verbose mode by @domenkozar in #1888
- docs: optimize git-hooks reference by @sandydoo in #1899
- fix: keycloak: error out on missing symlinks by @gabyx in #1900
- fix: android: Correct NDK path by @serpent213 in #1903
- Fix DOTNET_ROOT by @mdarocha in #1905
- outputs: fixes
devenv build
when building all outputs by @sandydoo in #1908 - Allow configuration of the Nixpkgs instance on a per-system basis by @ndam-hexagon in #1892
- Fix devenv.yaml documentation by @ndam-hexagon in #1914
- Update containers documentation with link to all options by @kshillingstad in #1915
- fix(keycloak): add realm export Git diff clean and health check url fix by @gabyx in #1917
- devenv: fix broken shell when using
--clean
by @sandydoo in #1918 - tasks: split into separate modules by @domenkozar in #1916
- devenv: load the user's bashrc by @sandydoo in #1910
- zig: override option zls by @Daholli in #1922
- devenv: handle unexpected serialized content in
cachix_trusted_keys.json
by @sandydoo in #1923 - tests: fix failing tests by @sandydoo in #1919
- go: fix the go version override for gpls by @sandydoo in #1929
- remove usage of debrecated literalExample by @timon-schelling in #1932
- fix(scala): correctly override jre with sbt-with-scala-native by @lajp in #1935
- opensearch: link core plugins and disable security by default by @sandydoo in #1937
- keycloak: fix switched around user and password env vars by @sandydoo in #1939
- fix up args to join with space by @tzemanovic in #1940
- devenv: update nix to 2.30 by @sandydoo in #1928
- Add Claude Code GitHub Workflow by @domenkozar in #1943
- process-compose: inherit the environment from the shell by @sandydoo in #1952
- feat: add enable/disable toggles for realm export by @gabyx in #1947
- mcp: fix tests and run assemble before mcp commands by @sandydoo in #1955
- eval-cache: add integration tests by @sandydoo in #1954
- mcp: fix race condition in tests by @sandydoo in #1956
- refactor: introduce nix backend abstraction with snix support by @domenkozar in #1950
- fix: add
UV_PYTHON
to force uv to use the correct python by @gabyx in #1959 - nix: apply more lazy-trees patches by @sandydoo in #1953
- rust: replace fenix with rust-overlay allow specifying rust version by @eyJhb in #1500
New Contributors
- @gabyx made their first contribution in #1806
- @serpent213 made their first contribution in #1903
- @mdarocha made their first contribution in #1905
- @ndam-hexagon made their first contribution in #1892
- @kshillingstad made their first contribution in #1915
- @Daholli made their first contribution in #1922
- @timon-schelling made their first contribution in #1932
- @lajp made their first contribution in #1935
Full Changelog: v1.6.1...v1.7
v1.6.1
What's Changed
- nix: fix a bug where inputs and their configs where being ignored by @sandydoo. Fixes #1854, #1855, #1863, #1871.
- tests: add cli test for init with target path by @LorenzBischof in #1773
- tasks: short-circuit ui logic in quiet mode by @domenkozar in #1861
Full Changelog: v1.6...v1.6.1
v1.6
What's Changed
- postgres: improve how PGHOST is computed by @sandydoo in #1809
- Force uv not to download by @leiserfg in #1822
- direnv: fix excessive reloads by @sandydoo in #1835
- devenv: propagate the exit code when executing a shell command by @sandydoo in #1837
- Add --option CLI flag for overriding configuration options by @domenkozar in #1838
- Ad-hoc developer environments by @domenkozar in #1839
- tasks: respect --quiet and produce less output in CI by @domenkozar in #1840
- docs: document how to use profiles by @domenkozar in #1841
- nix: bump nix by @sandydoo in #1847
- devenv: fix race conditions setting up the shell during tests by @sandydoo in #1843
- direnv: pass flags to devenv by @domenkozar in #1845
New Contributors
Full Changelog: v1.5.2...v1.6