Re: [Nix-dev] Nix 1.6 released
Hi, On 07/03/14 04:18, Kevin Quick wrote: > Looks like I've got a bit of a catch-22 situation here. My current > thinking is to get the nix definitions from github and look for a commit > that's old-enough to let me run nix-env to update nix, but that is a bit > awkward. Does anyone have any better advice to help me roll back my > package descriptions or roll forward my nix-env? You can upgrade a 1.6.1 release from http://hydra.nixos.org/release/nix/nix-1.6.1 using nix-install-package. For instance, if you're on x86_64-linux: $ nix-install-package --non-interactive --url http://hydra.nixos.org/build/6695697/nix/pkg/nix-1.6.1-x86_64-linux.nixpkg If nothing else works, you can install from the binary tarball: $ bash <(curl https://nixos.org/nix/install) -- Eelco Dolstra | LogicBlox, Inc. | http://nixos.org/~eelco/ ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev
Re: [Nix-dev] Nix 1.6 released
Hi. On 03/07/2014 04:18 AM, Kevin Quick wrote: I have an older NixOS installation that hadn't been updated recently. After running a channel update, I can unfortunately no longer run nix-env. Yes, it's not uncommon for people to have this problem, so it is time to create a wiki page for it, I guess. IIRC a couple of people confirmed this solution does work. https://nixos.org/wiki/How_to_update_when_nix_is_too_old_to_evaluate_nixpkgs Vlada smime.p7s Description: S/MIME Cryptographic Signature ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev
Re: [Nix-dev] Nix 1.6 released
Hi folks, I have an older NixOS installation that hadn't been updated recently. After running a channel update, I can unfortunately no longer run nix-env. I believe it to be due to the nix-channel-obtained all-packages.nix taking advantage of the new lazy with described below, but my version 1.5.2 nix-env cannot parse that. $ nix-env -u nix --show-trace error: while evaluating the function at `/nix/store/afbq2l02995n243s8398sshkcrjw5n2r-nixos-14.04pre40034.c4d5757/nixos/nixpkgs/pkgs/top-level/all-packages.nix:8:1': while evaluating the function at `/nix/store/afbq2l02995n243s8398sshkcrjw5n2r-nixos-14.04pre40034.c4d5757/nixos/nixpkgs/pkgs/top-level/all-packages.nix:116:26': while evaluating the function at `/nix/store/afbq2l02995n243s8398sshkcrjw5n2r-nixos-14.04pre40034.c4d5757/nixos/nixpkgs/pkgs/top-level/all-packages.nix:134:19': infinite recursion encountered $ nix-env --version nix-env (Nix) 1.5.2 I tried downloading the nix source below and building it, but I get: $ ./configure ... checking for BZ2_bzWriteOpen in -lbz2... no configure: error: Nix requires libbz2, which is part of bzip2. See http://www.bzip.org/. $ Looks like I've got a bit of a catch-22 situation here. My current thinking is to get the nix definitions from github and look for a commit that's old-enough to let me run nix-env to update nix, but that is a bit awkward. Does anyone have any better advice to help me roll back my package descriptions or roll forward my nix-env? Thanks! Kevin Eelco Dolstra 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 {}; > [ 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. -- Kevin Quick ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev
Re: [Nix-dev] Nix 1.6 released
Actually tests are failing since Nix 1.6 upgrade, that's why channel is not updated: http://hydra.nixos.org/job/nixos/trunk-combined/tested On Sun, Sep 15, 2013 at 10:45 AM, Vladimír Čunát wrote: > On 09/15/2013 10:11 AM, Malcolm Matalka wrote: > >> 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-rebuild --upgrade" uses the channel. Its current nixpkgs revision > is on 38d54cf, which is *before* the b73deae nix-1.6 update (about four > days commit-time). Therefore, the reason must be somewhere else than > nix-1.6. > > (The channel currently lags a bit, mainly because the FreeBSD build slaves > are a little overloaded.) > > > Vlada > > > > ___ > nix-dev mailing list > nix-dev@lists.science.uu.nl > http://lists.science.uu.nl/mailman/listinfo/nix-dev > > ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev
Re: [Nix-dev] Nix 1.6 released
On 09/15/2013 10:11 AM, Malcolm Matalka wrote: 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-rebuild --upgrade" uses the channel. Its current nixpkgs revision is on 38d54cf, which is *before* the b73deae nix-1.6 update (about four days commit-time). Therefore, the reason must be somewhere else than nix-1.6. (The channel currently lags a bit, mainly because the FreeBSD build slaves are a little overloaded.) Vlada smime.p7s Description: S/MIME Cryptographic Signature ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev
Re: [Nix-dev] Nix 1.6 released
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 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 {}; > [ 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. ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev
Re: [Nix-dev] Nix 1.6 released
> $ nix-env -f my-packages.nix -ir So such usage is officially recommended now? :-) The old solution still applies, because its easy to create multiple "sets" and update one of those sets only: https://nixos.org/wiki/Howto_keep_multiple_packages_up_to_date_at_once Updating "everything" is doable, but sometimes annoying if it takes a lot time to update everything if you only need to update one piece at a given time. Thanks to all contributors. Marc Weber ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev
Re: [Nix-dev] Nix 1.6 released
On 09/10/2013 05:55 PM, Eelco Dolstra wrote: I'm pleased to announce the availability of a new stable release of the Nix package manager. [...] This release has contributions from Domen Kožar, Eelco Dolstra, Florian Friesdorf, Gergely Risko, Ivan Kozik, Ludovic Courtès and Shea Levy. Thanks all! This looks like a very nice set of updates. Vlada smime.p7s Description: S/MIME Cryptographic Signature ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev
[Nix-dev] Nix 1.6 released
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 {}; [ 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. -- Eelco Dolstra | LogicBlox, Inc. | http://nixos.org/~eelco/ ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev