Changes between Nix and Determinate Nix
This section lists the differences between upstream Nix 2.30 and Determinate Nix 3.8.2.
-
In Determinate Nix, flakes are stable. You no longer need to enable the
flakes
experimental feature. -
In Determinate Nix, the new Nix CLI (i.e. the
nix
command) is stable. You no longer need to enable thenix-command
experimental feature. -
Determinate Nix has a setting
json-log-path
to send a copy of all Nix log messages (in JSON format) to a file or Unix domain socket. -
Determinate Nix has made
nix profile install
an alias tonix profile add
, a more symmetrical antonym ofnix profile remove
. -
nix-channel
andchannel:
url syntax (likechannel:nixos-24.11
) is deprecated, see: https://github.com/DeterminateSystems/nix-src/issues/34 -
Using indirect flake references and implicit inputs is deprecated, see: https://github.com/DeterminateSystems/nix-src/issues/37
-
Warnings around "dirty trees" are updated to reduce "dirty" jargon, and now refers to "uncommitted changes".
-
nix upgrade-nix
is now inert, and suggests usingdeterminate-nixd upgrade
-- DeterminateSystems/nix-src#55 -
Initial Lazy Trees support has been merged, but remains off by default. (DeterminateSystems/nix-src#27, DeterminateSystems/nix-src#56)
- Tell users a source is corrupted ("cannot read file from tarball: Truncated tar archive detected while reading data"), improving over the previous 'cannot read file from tarball' error by @edolstra in DeterminateSystems/nix-src#64
- Emit warnings when using import-from-derivation by setting the
trace-import-from-derivation
option totrue
by @gustavderdrache in DeterminateSystems/nix-src#70
-
Faster
nix store copy-sigs
by @edolstra in DeterminateSystems/nix-src#80 -
Document how to replicate nix-store --query --deriver with the nix cli by @grahamc in DeterminateSystems/nix-src#82
-
Garbage collector: Keep going even when encountering an undeletable file by @edolstra in DeterminateSystems/nix-src#83
-
nix profile: Replace ε and ∅ with descriptive English words by @grahamc in DeterminateSystems/nix-src#81
-
Call out that
--keep-failed
with remote builders will keep the failed build directory on that builder by @cole-h in DeterminateSystems/nix-src#85
-
When remote building with --keep-failed, only show "you can rerun" message if the derivation's platform is supported on this machine by @cole-h in DeterminateSystems/nix-src#87
-
Indicate that sandbox-paths specifies a missing file in the corresponding error message. by @cole-h in DeterminateSystems/nix-src#88
-
Use 'published' release type to avoid double uploads by @gustavderdrache in DeterminateSystems/nix-src#90
-
Render lazy tree paths in messages withouth the/nix/store/hash... prefix in substituted source trees by @edolstra in DeterminateSystems/nix-src#91
-
Use FlakeHub inputs by @lucperkins in DeterminateSystems/nix-src#89
-
Proactively cache more flake inputs and fetches by @edolstra in DeterminateSystems/nix-src#93
-
Fix: register extra builtins just once by @edolstra in DeterminateSystems/nix-src#97
-
Fix: Make the S3 test more robust by @gustavderdrache in DeterminateSystems/nix-src#101
-
Fix the link to
builders-use-substitutes
documentation forbuilders
by @lucperkins in DeterminateSystems/nix-src#102 -
Improve error messages that use the hypothetical future tense of "will" by @lucperkins in DeterminateSystems/nix-src#92
-
Improve caching of inputs in dry-run mode by @edolstra in DeterminateSystems/nix-src#98
-
Fix fetchToStore() caching with --impure, improve testing by @edolstra in DeterminateSystems/nix-src#117
-
Add lazy-locks setting by @edolstra in DeterminateSystems/nix-src#113
-
Sync 2.29.1 by @edolstra in DeterminateSystems/nix-src#124
-
Release v3.6.7 by @github-actions in DeterminateSystems/nix-src#126
-
Overriding deeply-nested transitive flake inputs now works, by @edolstra in DeterminateSystems/nix-src#108
-
nix store delete
now explains why deletion fails by @edolstra in DeterminateSystems/nix-src#130 -
New command:
nix flake prefetch-inputs
for improved CI performance, by @edolstra in DeterminateSystems/nix-src#127
-
nix flake check: Skip substitutable derivations by @edolstra in DeterminateSystems/nix-src#134
-
lockFlake(): When updating a lock, respect the input's lock file by @edolstra in DeterminateSystems/nix-src#137
- Address ifdef problem with macOS/BSD sandboxing by @gustavderdrache in DeterminateSystems/nix-src#142
-
ci: don't run the full test suite for x86_64-darwin by @grahamc in DeterminateSystems/nix-src#144
-
Try publishing the manual again by @grahamc in DeterminateSystems/nix-src#145