Release 3.18.0 (2026-04-20)
- Based on upstream Nix 2.33.3.
What's Changed
Sentry integration
In order to more proactively keep track of crashes, Sentry is now integrated into Determinate Nix.
This allows us to more easily triage and remedy crashes that occur in the wild, without depending on manual use reports.
It can be enabled by:
- populating the file
/etc/nix/sentry-endpointwith a Sentry DSN; or - setting the
NIX_SENTRY_ENDPOINTenvironment variable to a Sentry DSN
and can be disabled by:
- setting the environment variable
DETSYS_IDS_TELEMETRYto the valuedisabled; or - setting the environment variable
NIX_SENTRY_ENDPOINTto an empty string
PR: DeterminateSystems/nix-src#418
Pre-build hook now receives the JSON serialization of the derivation
The pre-build hook already received the path of the derivation as an argument, but that path doesn't typically exist when called as a remote build.
Now, the pre-build hook is spawned with the environment variable NIX_DERIVATION_V4 set to a file that contains the JSON representation of the derivation in v4 format, allowing instrospection of e.g. requiredSystemFeatures for scheduling decisions.
PR: DeterminateSystems/nix-src#424
Fix empty Git exports when using legacy Git compatibility
A regression introduced in v3.16.0 made it possible for there to be empty Git exports in the Nix store when using legacy Git flakes (those depending on Nix 2.19 lockfile semantics).
This is now fixed.
PR: DeterminateSystems/nix-src#425
Full Changelog: v3.17.3...v3.18.0