[Nix-dev] Nix 1.9 released

Aristid Breitkreuz aristidb at gmail.com
Sat Jun 13 09:10:16 CEST 2015


Very nice, thanks for the hard work! I'm especially excited about the
nix-shell shebangs :) This should radically improve scripting on Nix.

Cheers,

Aristid

Eelco Dolstra <eelco.dolstra at logicblox.com> schrieb am Sa., 13. Juni 2015
01:17:

> Hi,
>
> I'm pleased to announce the availability of a new stable release of the
> Nix package manager.  Release 1.9 can be found at
>
>   http://hydra.nixos.org/release/nix/nix-1.9
>
> and
>
>   http://nixos.org/releases/nix/nix-1.9
>
> In addition to the usual bug fixes, this release has the following new
> features:
>
>   • Signed binary cache support. You can enable signature checking by
> adding
>     the following to nix.conf:
>
>     signed-binary-caches = *
>     binary-cache-public-keys =
> cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
>
>     This will prevent Nix from downloading any binary from the cache that
> is
>     not signed by one of the keys listed in binary-cache-public-keys.
>
>     Signature checking is only supported if you built Nix with the
> libsodium
>     package.
>
>     Note that while Nix has had experimental support for signed binary
> caches
>     since version 1.7, this release changes the signature format in a
>     backwards-incompatible way.
>
>   • Automatic downloading of Nix expression tarballs. In various places,
> you
>     can now specify the URL of a tarball containing Nix expressions (such
> as
>     Nixpkgs), which will be downloaded and unpacked automatically. For
> example:
>
>       □ In nix-env:
>
>         $ nix-env -f
> https://github.com/NixOS/nixpkgs-channels/archive/nixos-14.12.tar.gz -iA
> firefox
>
>         This installs Firefox from the latest tested and built revision of
> the
>         NixOS 14.12 channel.
>
>       □ In nix-build and nix-shell:
>
>         $ nix-build https://github.com/NixOS/nixpkgs/archive/master.tar.gz
> -A hello
>
>         This builds GNU Hello from the latest revision of the Nixpkgs
> master
>         branch.
>
>       □ In the Nix search path (as specified via NIX_PATH or -I). For
> example,
>         to start a shell containing the Pan package from a specific
> version of
>         Nixpkgs:
>
>         $ nix-shell -p pan -I
> nixpkgs=
> https://github.com/NixOS/nixpkgs-channels/archive/8a3eea054838b55aca962c3fbde9c83c102b8bf2.tar.gz
>
>       □ In nixos-rebuild (on NixOS):
>
>         $ nixos-rebuild test -I
> nixpkgs=nixpkgs=
> https://github.com/NixOS/nixpkgs-channels/archive/nixos-unstable.tar.gz
>
>       □ In Nix expressions, via the new builtin function fetchTarball:
>
>         with import (fetchTarball
> https://github.com/NixOS/nixpkgs-channels/archive/nixos-14.12.tar.gz) {};
>>
>         (This is not allowed in restricted mode.)
>
>   • nix-shell improvements:
>
>       □ nix-shell now has a flag --run to execute a command in the
> nix-shell
>         environment, e.g. nix-shell --run make. This is like the existing
>         --command flag, except that it uses a non-interactive shell
> (ensuring
>         that hitting Ctrl-C won’t drop you into the child shell).
>
>       □ nix-shell can now be used as a #!-interpreter. This allows you to
> write
>         scripts that dynamically fetch their own dependencies. For example,
>         here is a Haskell script that, when invoked, first downloads GHC
> and
>         the Haskell packages on which it depends:
>
>         #! /usr/bin/env nix-shell
>         #! nix-shell -i runghc -p haskellPackages.ghc haskellPackages.HTTP
>
>         import Network.HTTP
>
>         main = do
>           resp <- Network.HTTP.simpleHTTP (getRequest "http://nixos.org/")
>           body <- getResponseBody resp
>           print (take 100 body)
>
>         Of course, the dependencies are cached in the Nix store, so the
> second
>         invocation of this script will be much faster.
>
>   • Chroot improvements:
>
>       □ Chroot builds are now supported on Mac OS X (using its sandbox
>         mechanism).
>
>       □ If chroots are enabled, they are now used for all derivations,
>         including fixed-output derivations (such as fetchurl). The latter
> do
>         have network access, but can no longer access the host filesystem.
> If
>         you need the old behaviour, you can set the option
> build-use-chroot to
>         relaxed.
>
>       □ On Linux, if chroots are enabled, builds are performed in a
> private PID
>         namespace once again. (This functionality was lost in Nix 1.8.)
>
>       □ Store paths listed in build-chroot-dirs are now automatically
> expanded
>         to their closure. For instance, if you want
> /nix/store/…-bash/bin/sh
>         mounted in your chroot as /bin/sh, you only need to say
>         build-chroot-dirs = /bin/sh=/nix/store/…-bash/bin/sh; it is no
> longer
>         necessary to specify the dependencies of Bash.
>
>   • The new derivation attribute passAsFile allows you to specify that the
>     contents of derivation attributes should be passed via files rather
> than
>     environment variables. This is useful if you need to pass very long
> strings
>     that exceed the size limit of the environment. The Nixpkgs function
>     writeTextFile uses this.
>
>   • You can now use ~ in Nix file names to refer to your home directory,
> e.g.
>     import ~/.nixpkgs/config.nix.
>
>   • Nix has a new option restrict-eval that allows limiting what paths the
> Nix
>     evaluator has access to. By passing --option restrict-eval true to
> Nix, the
>     evaluator will throw an exception if an attempt is made to access any
> file
>     outside of the Nix search path. This is primarily intended for Hydra to
>     ensure that a Hydra jobset only refers to its declared inputs (and is
>     therefore reproducible).
>
>   • nix-env now only creates a new “generation” symlink in /nix/var/nix/
>     profiles if something actually changed.
>
>   • The environment variable NIX_PAGER can now be set to override PAGER.
> You
>     can set it to cat to disable paging for Nix commands only.
>
>   • Failing <...> lookups now show position information.
>
>   • Improved Boehm GC use: we disabled scanning for interior pointers,
> which
>     should reduce the “Repeated allocation of very large block” warnings
> and
>     associated retention of memory.
>
> This release has contributions from aszlig, Benjamin Staffin, Charles
> Strahan,
> Christian Theune, Daniel Hahler, Danylo Hlynskyi Daniel Peebles, Dan
> Peebles,
> Domen Kožar, Eelco Dolstra, Harald van Dijk, Hoang Xuan Phu, Jaka Hudoklin,
> Jeff Ramnani, j-keck, Linquize, Luca Bruno, Michael Merickel, Oliver
> Dunkl, Rob
> Vermaas, Rok Garbas, Shea Levy, Tobias Geerinckx-Rice and William A.
> Kennington
> III.
>
> --
> Eelco Dolstra | LogicBlox, Inc. | http://nixos.org/~eelco/
> _______________________________________________
> nix-dev mailing list
> nix-dev at lists.science.uu.nl
> http://lists.science.uu.nl/mailman/listinfo/nix-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.science.uu.nl/pipermail/nix-dev/attachments/20150613/ed183a32/attachment-0001.html 


More information about the nix-dev mailing list