Skip to content

Releases: DeterminateSystems/nix-src

v3.13.2

19 Nov 07:04
be871f9

Choose a tag to compare

Release 3.13.2 (2025-11-19)

What's Changed

Abbreviate flakerefs in lockfile diffs and nix flake metadata

Flake refs are now abbreviated when possible, to reduce visual clutter.

For example, this changes

• Updated input 'blender-bin':
    'https://api.flakehub.com/f/pinned/edolstra/blender-bin/1.0.19/01993ca7-2aa8-746f-96f5-ca8d2c2b962d/source.tar.gz?narHash=sha256-ZqVhVl9UYVErF8HW8lcvqss005VWYjuX//rZ%2BOmXyHg%3D' (2025-09-12)
  → 'https://api.flakehub.com/f/pinned/edolstra/blender-bin/1.0.20/019a8772-b044-7738-8c03-109bdc9f0a01/source.tar.gz?narHash=sha256-sVj9Gmx0kwTDQPJ5kgQYszE3Hdjevu0zx0b/bL2fyUc%3D' (2025-11-15)
• Updated input 'nix':
    'github:DeterminateSystems/nix-src/236ebef6514f3a2a9765c8a1d80dd503b8e672be?narHash=sha256-s6/Err0yqOp5fM3OdCF1vhmEYpeElbPOWX88YrW2qj4%3D' (2025-10-23)
  → 'github:DeterminateSystems/nix-src/ef054dc06e9701597bce0b0572af18cb4c7e7277?narHash=sha256-uqYmH0KA8caQqX5u4BMarZsuDlC%2B71HRsH3h4f3DPCA%3D' (2025-11-12)

to

• Updated input 'blender-bin':
    'https://api.flakehub.com/f/pinned/edolstra/blender-bin/1.0.19/01993ca7-2aa8-746f-96f5-ca8d2c2b962d/source.tar.gz' (2025-09-12)
  → 'https://api.flakehub.com/f/pinned/edolstra/blender-bin/1.0.20/019a8772-b044-7738-8c03-109bdc9f0a01/source.tar.gz' (2025-11-15)
• Updated input 'nix':
    'github:DeterminateSystems/nix-src/236ebef' (2025-10-23)
  → 'github:DeterminateSystems/nix-src/ef054dc' (2025-11-12)

PR: DeterminateSystems/nix-src#264

nix flake prefetch-inputs now skips build-time inputs

Build-time inputs can already be fetched in parallel, so prefetching them is usually not what you want.

This can be especially noticeable in projects that make extensive use of build-time flake inputs.

PR: DeterminateSystems/nix-src#263

Don't compute revCount/lastModified if they're already specified

We don't care if the user (or more likely the lock file) specifies an incorrect value for these attributes, since it doesn't matter for security (unlike content hashes like narHash).

This can save time when operating on large repos -- having to recalculate these attributes could slow things down greatly.

PR: DeterminateSystems/nix-src#269

Avoid unnecessary Git refetches

This fixes the issue where updating a Git input does a non-shallow fetch, and then a subsequent eval does a shallow refetch because the revCount is already known.

Now the subsequent eval will reuse the repo used in the first fetch.

PR: DeterminateSystems/nix-src#270

Use our mirrored flake registry

The flake registry is security-critical and thus should have high availability.

By mirroring the upstream Nix flake registry, we can make it less likely that a GitHub outage affects being able to resolve from the registry.

PR: DeterminateSystems/nix-src#271

Full Changelog: v3.13.1...v3.13.2

v3.13.1

12 Nov 17:40
ef054dc

Choose a tag to compare

Release 3.13.1 (2025-11-12)

What's Changed

Full Changelog: v3.13.0...v3.13.1

v3.13.0

09 Nov 21:56
42a402f

Choose a tag to compare

Release 3.13.0 (2025-11-09)

What's Changed

Git sources have a progress indicator again

Nix used to feel "stuck" while it was cloning large repositories.
Determinate Nix now shows git's native progress indicator while fetching.

PR: DeterminateSystems/nix-src#250

C API improvements

We've invested in the C API to support our work on closure analysis for SBOM generation, and made a couple of changes:

  • C API: add nix_locked_flake_read_path for flake file reading
  • C API: make nix_store_get_fs_closure compatible with upstream

PRs:

Dropping support for Intel Macs

Determinate Nix no longer supports being installed on Intel Macs.
Determinate Nix will continue to support building for Intel macOS targets, but only from an Apple Silicon host.

From our intent-to-ship:

Over the past year, we’ve watched usage of Determinate on Intel macOS hosts dwindle to a minuscule fraction of total usage.
It currently stands at approximately 0.02% of all installations.
The vast majority are run in managed CI environments that, we anticipate, will be able to easily convert to using Apple Silicon runners.

For more information: #224

PR: DeterminateSystems/nix-src#257

Bugs fixed

  • IPv6 Store URLs now handles zone ID references like it did in previous releases NixOS/nix#14434

Full Changelog: v3.12.2...v3.13.0

v3.12.2

05 Nov 17:39
72d304e

Choose a tag to compare

Release 3.12.2 (2025-11-05)

What's Changed

Faster revCount computation

When using Git repositories with a long history, calculating the revCount attribute can take a long time. Determinate Nix now computes revCount using multiple threads, making it much faster.

Note that if you don't need revCount, you can disable it altogether by setting the flake input attribute shallow = false.

PR: DeterminateSystems/nix-src#245

More readable error messages

Previously, Nix showed full flakerefs in error messages such as stack traces, e.g.

   … from call site
     at «github:NixOS/nixpkgs/3bea86e918d8b54aa49780505d2d4cd9261413be?narHash=sha256-Ica%2B%2BSXFuLyxX9Q7YxhfZulUif6/gwM8AEQYlUxqSgE%3D»/lib/customisation.nix:69:16:
       68|     let
       69|       result = f origArgs;
         |                ^
       70|

It now abbreviates these by leaving out narHash and shortening Git revisions:

   … from call site
     at «github:NixOS/nixpkgs/3bea86e»/lib/customisation.nix:69:16:
       68|     let
       69|       result = f origArgs;
         |                ^
       70|

PR: DeterminateSystems/nix-src#243

Other changes

This release fixes an assertion failure in nix flake check. PR: DeterminateSystems/nix-src#252

Full Changelog: v3.12.1...v3.12.2

v3.12.1

04 Nov 03:16
1d3ce49

Choose a tag to compare

Release 3.12.1 (2025-11-04)

What's Changed

Full Changelog: v3.12.0...v3.12.1

v3.12.0

23 Oct 17:36
9512828

Choose a tag to compare

Release 3.12.0 (2025-10-23)

What's Changed

nix nario

Determinate Nix has a new command, nix nario, that replaces the commands nix-store --export and nix-store --import from the old CLI. nix nario allows you to serialize store paths to a file that can be imported into another Nix store. It is backwards compatible with the file format generated by nix-store --export. It also provides a new format (selected by passing --format 2) that supports store path attributes such as signatures, and allows store paths to be imported more efficiently.

Other changes

nix flake clone now supports arbitrary input types. In particular, this allows you to clone tarball flakes, such as flakes on FlakeHub.

When using -vv, Determinate Nix now prints the Nix version. This is useful when diagnosing Nix problems from the debug output of a Nix run.

Full Changelog: v3.11.3...v3.12.0

v3.11.3

09 Oct 17:03
80d3406

Choose a tag to compare

Release 3.11.3 (2025-10-09)

What's Changed

Fix some bugs and interactions with parallel eval

We received some reports of parallel eval having issues, such as not being able to be interrupted, infinite recursion hanging forever, and segfaults when using the experimental builtins.parallel.

Those have now been fixed.

Additionally, the debugger now disables parallel eval, because the two features are incompatible.

PRs: DeterminateSystems/nix-src#206, DeterminateSystems/nix-src#213, DeterminateSystems/nix-src#218, DeterminateSystems/nix-src#205

NIX_SSHOPTS + ssh-ng://root@localhost fix

We noticed that specifying NIX_SSHOPTS=-p2222 when using a command that uses SSH (such as nix copy --to ssh-ng://root@localhost) stopped respecting the NIX_SSHOPTS setting because of an incorrect comparison.

This has been fixed, so NIX_SSHOPTS and SSH stores that are accessed like user@localhost work again.

PR: DeterminateSystems/nix-src#219

Fix error: [json.exception.type_error.302] type must be string, but is array when using exportReferencesGraph

We received a report of a nix build failing on a specific flake due to its expression using exportReferencesGraph with a heterogeneous array of dependencies, causing this inscrutable error.

This specific case has been broken since Nix 2.29.0, and is now fixed.

PRs: DeterminateSystems/nix-src#221, DeterminateSystems/nix-src#225

Full Changelog: v3.11.2...v3.11.3

v3.11.2

12 Sep 17:03
766f43a

Choose a tag to compare

Release 3.11.2 (2025-09-12)

What's Changed

Fix some interactions with the registry and flakes that include a ?dir= parameter

Some users were experiencing issues when their flake registry contained a flake that included a ?dir= parameter, causing commands like nix eval registry-with-flake-in-subdir#output and those that used --inputs-from` to fail or behave incorrectly.

This is now fixed, so use your flakes inside subdirs without fear!

PRs: DeterminateSystems/nix-src#196, DeterminateSystems/nix-src#199

Only substitute inputs if they haven't already been fetched

When using lazy-trees, you might have noticed Nix fetching some source inputs from a cache, even though you could have sworn it already fetched those inputs!

This fixes that behavior such that Nix will try to fetch inputs from their original location, and only if that fails fall back to fetching from a substituter.

PR: DeterminateSystems/nix-src#202

Full Changelog: v3.11.1...v3.11.2

v3.11.1

05 Sep 00:04
7143558

Choose a tag to compare

Release 3.11.1 (2025-09-04)

What's Changed

Full Changelog: v3.11.0...v3.11.1

v3.11.0

03 Sep 20:48
869a589

Choose a tag to compare

Release 3.11.0 (2025-09-03)

What's Changed

Parallel evaluation

The following commands are now able to evaluate Nix expressions in parallel:

  • nix search
  • nix flake check
  • nix flake show
  • nix eval --json

This is currently in developer preview, and we'll be turning it on for more users in the coming weeks.
If you would like to try it right away, specify eval-cores in your /etc/nix/nix.custom.conf:

eval-cores = 0 # Evaluate across all cores

Further, we introduced a new builtin: builtins.parallel.
This new builtin allows users to explicitly parallelize evaluation within a Nix expression.

Using this new builtin requires turning on an additional experimental feature:

extra-experimental-features = parallel-eval

Please note that this new builtin is subject to change semantics or even go away during the developer preview.

PR: DeterminateSystems/nix-src#125

Full Changelog: v3.10.1...v3.11.0