Home Explore Blog CI



nix

2nd chunk of `doc/manual/source/release-notes/rl-0.8.md`
9bedc47ca0db5dba41cebd32311c247854501067ef6c093b00000001000008b7
            /nix/store/8lz9yc6zgmc0vlqmn2ipcpkjlmbi51vv-glibc-2.3.4

  - The concept of fixed-output derivations has been formalised.
    Previously, functions such as `fetchurl` in Nixpkgs used a hack
    (namely, explicitly specifying a store path hash) to prevent changes
    to, say, the URL of the file from propagating upwards through the
    dependency graph, causing rebuilds of everything. This can now be
    done cleanly by specifying the `outputHash` and `outputHashAlgo`
    attributes. Nix itself checks that the content of the output has the
    specified hash. (This is important for maintaining certain
    invariants necessary for future work on secure shared stores.)

  - One-click installation :-) It is now possible to install any
    top-level component in Nixpkgs directly, through the web — see,
    e.g., <http://catamaran.labs.cs.uu.nl/dist/nixpkgs-0.8/>. All you
    have to do is associate `/nix/bin/nix-install-package` with the MIME
    type `application/nix-package` (or the extension `.nixpkg`), and
    clicking on a package link will cause it to be installed, with all
    appropriate dependencies. If you just want to install some specific
    application, this is easier than subscribing to a channel.

  - `nix-store -r
            PATHS` now builds all the derivations PATHS in parallel. Previously
    it did them sequentially (though exploiting possible parallelism
    between subderivations). This is nice for build farms.

  - `nix-channel` has new operations `--list` and `--remove`.

  - New ways of installing components into user environments:

      - Copy from another user environment:

            $ nix-env -i --from-profile .../other-profile firefox

      - Install a store derivation directly (bypassing the Nix
        expression language entirely):

            $ nix-env -i /nix/store/z58v41v21xd3...-aterm-2.3.1.drv

        (This is used to implement `nix-install-package`, which is
        therefore immune to evolution in the Nix expression language.)

      - Install an already built store path directly:

            $ nix-env -i /nix/store/hsyj5pbn0d9i...-aterm-2.3.1

      - Install the result of a Nix expression specified as a
        command-line argument:

Title: Nix 0.8 Improvements: Fixed-Output Derivations, One-Click Installation, and Enhanced User Environment Management
Summary
Nix 0.8 introduces fixed-output derivations, allowing for controlled dependency management. It also enables one-click installation from the web via `nix-install-package`. The release includes parallel building with `nix-store -r`, new `nix-channel` operations, and enhanced methods for installing components into user environments, including copying from other profiles and directly installing derivations or store paths.