1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-07-03 02:01:48 +02:00
nix/doc/manual/src/release-notes/rl-next.md

1.9 KiB

Release X.Y (202?-??-??)

  • Various nix commands can now read expressions from stdin with --file -.

  • nix store make-content-addressable has been renamed to nix store make-content-addressed.

  • New experimental builtin function builtins.fetchClosure that copies a closure from a binary cache at evaluation time and rewrites it to content-addressed form (if it isn't already). Like builtins.storePath, this allows importing pre-built store paths; the difference is that it doesn't require the user to configure binary caches and trusted public keys.

    This function is only available if you enable the experimental feature fetch-closure.

  • New experimental feature: impure derivations. These are derivations that can produce a different result every time they're built. Here is an example:

    stdenv.mkDerivation {
      name = "impure";
      __impure = true; # marks this derivation as impure
      buildCommand = "date > $out";
    }
    

    Running nix build twice on this expression will build the derivation twice, producing two different content-addressed store paths. Like fixed-output derivations, impure derivations have access to the network. Only fixed-output derivations and impure derivations can depend on an impure derivation.

  • The nixosModule flake output attribute has been renamed consistent with the .default renames in nix 2.7.

    • nixosModulenixosModules.default

    As before, the old output will continue to work, but nix flake check will issue a warning about it.

  • nix run is now stricter wrt what it accepts:

    • Members of apps are now required to be apps (as defined in the manual)
    • Member of packages or legacyPackages cannot be of type "app" when used by nix run.
  • Add experimental indexed store derivations installable syntax, part of the the computed-derivations experimental feature.