Changes between Nix and Determinate Nix
This section lists the differences between upstream Nix 2.28 and Determinate Nix 3.5.1.
-
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)