[Nix-dev] Nix 1.6 released
Malcolm Matalka
mmatalka at gmail.com
Sun Sep 15 10:11:09 CEST 2013
I am unable to upgrade to 1.6 on one of my machines for an unknown
reason.
I updated my machine by doing 'nixos-rebuild --upgrade switch' and
rebooting.
$ nixos-version
13.09pre5022_71365b7-38d54cf (Aardvark)
$ nix-env --version
nix-env (Nix) 1.5.3
$ which nix-env
/run/current-system/sw/bin/nix-env
$ sudo nix-channel --list
nixos http://nixos.org/releases/nixos/channels/nixos-unstable
$ nix-env -qa '*' | grep -e '^nix'
nix-1.5.3
nix-1.6pre3215_2c1ecf8
nix-generate-from-cpan-1
nixops-1.0.1
nixpkgs-lint-1
Interesting fact: on my other machine that did upgrade properly, the
output of the grep is different:
$ nix-env -qa '*' | grep -e '^nix'
nix-1.5.2
nix-1.5.3pre3141_1b6ee8f
nix-generate-from-cpan-1
$ nix-env --version
nix-env (Nix) 1.6pre3215_2c1ecf8
Any suggestions?
Thanks!
/Malcolm
Eelco Dolstra <eelco.dolstra at logicblox.com> writes:
> Hi,
>
> I'm pleased to announce the availability of a new stable release of the
> Nix package manager. Release 1.6 can be found at
>
> http://hydra.nixos.org/release/nix/nix-1.6
>
> and
>
> http://nixos.org/releases/nix/nix-1.6/
>
> In addition to the usual bug fixes, this release has several new features:
>
> * The command nix-build --run-env has been renamed to nix-shell.
>
> * nix-shell now sources $stdenv/setup inside the interactive shell, rather
> than in a parent shell. This ensures that shell functions defined by stdenv
> can be used in the interactive shell.
>
> * nix-shell has a new flag --pure to clear the environment, so you get an
> environment that more closely corresponds to the "real" Nix build.
>
> * nix-shell now sets the shell prompt (PS1) to ensure that Nix shells are
> distinguishable from your regular shells.
>
> * nix-env no longer requires a * argument to match all packages, so nix-env
> -qa is equivalent to nix-env -qa '*'.
>
> * nix-env -i has a new flag --remove-all (-r) to remove all previous packages
> from the profile. This makes it easier to do declarative package management
> similar to NixOS's environment.systemPackages. For instance, if you have a
> specification my-packages.nix like this:
>
> with import <nixpkgs> {};
> [ thunderbird
> geeqie
> ...
> ]
>
> then after any change to this file, you can run:
>
> $ nix-env -f my-packages.nix -ir
>
> to update your profile to match the specification.
>
> * The `with' language construct is now more lazy. It only evaluates its
> argument if a variable might actually refer to an attribute in the
> argument. For instance, this now works:
>
> let
> pkgs = with pkgs; { foo = "old"; bar = foo; } // overrides;
> overrides = { foo = "new"; };
> in pkgs.bar
>
> This evaluates to "new", while previously it gave an "infinite recursion"
> error.
>
> * Nix now has proper integer arithmetic operators. For instance, you can
> write x + y instead of builtins.add x y, or x < y instead of
> builtins.lessThan x y. The comparison operators also work on strings.
>
> * On 64-bit systems, Nix integers are now 64 bits rather than 32 bits.
>
> * When using the Nix daemon, the nix-daemon worker process now runs on the
> same CPU as the client, on systems that support setting CPU affinity. This
> gives a significant speedup on some systems.
>
> * If a stack overflow occurs in the Nix evaluator, you now get a proper error
> message (rather than "Segmentation fault") on some systems.
>
> * In addition to directories, you can now bind-mount regular files in chroots
> through the (now misnamed) option build-chroot-dirs.
>
> This release has contributions from Domen Kožar, Eelco Dolstra, Florian
> Friesdorf, Gergely Risko, Ivan Kozik, Ludovic Courtès and Shea Levy.
More information about the nix-dev
mailing list