Changes between Nix and Determinate Nix
This section lists the differences between upstream Nix 2.32 and Determinate Nix 3.12.0.
-
In Determinate Nix, flakes are stable. You no longer need to enable the
flakesexperimental feature. -
In Determinate Nix, the new Nix CLI (i.e. the
nixcommand) is stable. You no longer need to enable thenix-commandexperimental feature. -
Determinate Nix has a setting
json-log-pathto send a copy of all Nix log messages (in JSON format) to a file or Unix domain socket. -
Determinate Nix has made
nix profile installan alias tonix profile add, a more symmetrical antonym ofnix profile remove. -
nix-channelandchannel: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-nixis now inert, and suggests usingdeterminate-nixd upgrade-- DeterminateSystems/nix-src#55 -
Lazy Trees support has been merged. (DeterminateSystems/nix-src#27, DeterminateSystems/nix-src#56)
-
Faster
nix store copy-sigsby @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
-
nix profile: Replace ε and ∅ with descriptive English words by @grahamc in DeterminateSystems/nix-src#81
-
Call out that
--keep-failedwith 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 FlakeHub inputs by @lucperkins in DeterminateSystems/nix-src#89
-
Proactively cache more flake inputs and fetches by @edolstra in DeterminateSystems/nix-src#93
-
Improve caching of inputs in dry-run mode by @edolstra in DeterminateSystems/nix-src#98
- Add lazy-locks setting by @edolstra in DeterminateSystems/nix-src#113
nix store deletenow explains why deletion fails by @edolstra in DeterminateSystems/nix-src#130
- ci: don't run the full test suite for x86_64-darwin by @grahamc in DeterminateSystems/nix-src#144
-
Tab completing arguments to Nix avoids network access DeterminateSystems/nix-src#161
-
Importing Nixpkgs and other tarballs to the cache is 2-4x faster DeterminateSystems/nix-src#149
-
Adding paths to the store is significantly faster DeterminateSystems/nix-src#162
- Build-time flake inputs DeterminateSystems/nix-src#49
- The default
nix flake inittemplate is much more useful DeterminateSystems/nix-src#180
- Multithreaded evaluation support DeterminateSystems/nix-src#125
-
Fix some interactions with the registry and flakes that include a
?dir=parameter DeterminateSystems/nix-src#196, DeterminateSystems/nix-src#199 -
Only try to substitute input if fetching from its original location fails DeterminateSystems/nix-src#202
-
nix flake clonesupports arbitrary input types. DeterminateSystems/nix-src#229 -
A new command
nix nariothat replacesnix-store --export|--export. It also has a new file format (--format 2) that supports store path attributes such as signatures, and that can be imported more efficiently. DeterminateSystems/nix-src#215 -
Determinate Nix prints the Nix version when using
-vvor higher verbosity. DeterminateSystems/nix-src#237