[Nix-dev] nixos channel
Hi all, Is there a problem with the nix channel? It hasn't been updated for 2 days. Is there a schedule (ie once a day) that it updates? I understand this depends on the amount of changes being pushed, but once it's in hydra's queue, I can track it from there. Thanks, Mathijs ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev
Re: [Nix-dev] nixos channel
Hi, On Aug 7, 2012, at 5:49 AM, Mathijs Kwik math...@bluescreen303.nl wrote: Hi all, Is there a problem with the nix channel? It hasn't been updated for 2 days. Is there a schedule (ie once a day) that it updates? The channel only updates when all the tests at http://hydra.nixos.org/view/nixos/tested (warning: long load) pass. I understand this depends on the amount of changes being pushed, but once it's in hydra's queue, I can track it from there. Thanks, Mathijs ___ 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] nixos channel
On Tue, Aug 7, 2012 at 12:44 PM, Shea Levy s...@shealevy.com wrote: Hi, On Aug 7, 2012, at 5:49 AM, Mathijs Kwik math...@bluescreen303.nl wrote: Hi all, Is there a problem with the nix channel? It hasn't been updated for 2 days. Is there a schedule (ie once a day) that it updates? The channel only updates when all the tests at http://hydra.nixos.org/view/nixos/tested (warning: long load) pass. Ah, that's very nice. However, it then appears I broke the 2 live cds right after the latest successful build. Build number 2920826 only includes 5 of my commits, compared to 2920472, which did succeed. Looking at the log for the 2 failing tests, I can't really figure out what's going on. One of them reports a lot of warnings (sqlite busy), the other reports an issue with linking (/nix/store/.links), which I've never seen locally. As I only added 5 emacs packages (which I think are unrelated) and added the (updated) aufs3 patch to kernel 3.5 (which is not used by the livecds), I would not know where to start debugging. I build things locally using setarch --uname-2.6, just as hydra uses. Are there any other environmental things I should do to match hydra, so I can try to reproduce the same errors? Thanks, Mathijs I understand this depends on the amount of changes being pushed, but once it's in hydra's queue, I can track it from there. Thanks, Mathijs ___ 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] nixos channel
Hi, On 07/08/12 07:29, Mathijs Kwik wrote: One of them reports a lot of warnings (sqlite busy), the other reports an issue with linking (/nix/store/.links), which I've never seen locally. The SQLite warnings are harmless. The .links issue is a bug in Nix that should be fixed now. Let me know if you see new builds that show this error message. -- 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] NixOS channel
Hi Eelco, Very interesting information regarding the channels. Can you give some additional advice on how this relates to existing /etc/nixos/* checkouts? * If I specify the channel and the nixos-rebuild you summarized below, will it use the channel or my checkouts or both (and if the latter, which has priority)? * I currently have local packages in ~/.nix-defexpr. Specifically I have: ~/.nix-defexpr/localnix: {}: let stdpkgs = import /etc/nixos/nixpkgs/pkgs/top-level/all-packages.nix{}; mypkgs = builtins.getEnv HOME + /my_nixexprs; in import mypkgs { inherit stdpkgs }; I can then populate personal packages in the mypkgs tree and they are smoothly integrated for nix-env. Is it still possible to do this somehow with the channel setup? * As a corollary, is there documentation I could use that would provide information on how to create a new channel containing mypkgs? * Can you --add multiple channels? * Can multiple channels cross-reference packages? Total cross-referencing or backward-only? * How are conflicts resolved with multiple channels? Many Thanks, -Kevin On Tue, 15 May 2012 11:11:43 -0700, Eelco Dolstra eelco.dols...@logicblox.com wrote: Hi all, Since a few weeks there is a NixOS channel, which is now the default mechanism for keeping NixOS up to date. (A channel is a Nix mechanism for distributing a consistent set of Nix expressions and binaries.) A quick summary on how to use it: $ nix-channel --add http://nixos.org/releases/nixos/channels/nixos-unstable $ nix-channel --update $ nixos-rebuild switch The NixOS channel contains a copy of Nixpkgs (but only the binaries for i686-linux and x86_64-linux), so after nix-channel --update you can install packages via nix-env: $ nix-env -i thunderbird or, if you prefer the -A option: $ nix-env -iA nixos.pkgs.thunderbird The advantages of using a channel over the previous way (doing svn up /etc/nixos/* a.k.a. nixos-checkout) are: - Correctness: The channel is only updated to a new revision of NixOS/Nixpkgs if it passes certain tests - specifically, if all jobs in the nixos:tested view succeed (http://hydra.nixos.org/view/nixos/tested). So you have a reasonable certainty that the new version will actually work. By contrast, if you update to the latest revision using nixos-checkout, it's quite possible that somebody just committed something that broke the entire system. - Efficiency: The channel is only updated after all Hydra builds in that revision have finished, *and* all binaries have been mirrored. (Binary patches are generated asynchronously, however, since they can take much longer to produce.) So you don't have to worry about somebody just having committed something that causes a huge recompilation. This makes keeping NixOS up to date a rather more pleasant activity, IMHO. Some things to note: - The downloaded channel sources are stored in /nix/var/nix/profiles/per-user/root/channels/nixos (which is actually in the Nix store). The $NIX_PATH environment variable contains this directory, so nixos and nixpkgs in Nix expressions resolve there unless overriden through $NIX_PATH or the -I flag. - In principle, you can do rollbacks on the channels profile (nix-env -p /nix/var/nix/profiles/per-user/root/channels --rollback) if you don't like the result of a nix-channel --update. However, this doesn't roll back the corresponding binaries manifest in /nix/var/nix/manifest so its utility is limited [1]. - The NixOS installation CD no longer contains or installs /etc/nixos/{nixos,nixpkgs} but instead uses the NixOS channel. You can of course run nixos-checkout if you want a working tree for development. (In other news, nixos-checkout now accepts a argument to specify the desired location of the working trees, e.g. nixos-checkout /home/eelco/Dev. The default location /etc/nixos may eventually go away since it's a weird location for keeping large source trees.) - To use a development tree in nixos-rebuild, just use the -I flag, e.g. nixos-rebuild switch -I /home/eelco/Dev. - The nixpkgs_sys link in ~/.nix-defexpr is no longer created. Instead you can use nixos.pkgs in nix-env -iA calls, as shown above. nixos.pkgs is the Nixpkgs in the NixOS channel, so it's guaranteed to have binaries available. - The command nixos-version prints out the NixOS version you're currently running, e.g. 0.1pre34067-34075. The version string include the NixOS and Nixpkgs revisions, respectively. If you install from SVN it just prints 0.1pre-svn. - Old versions can be installed from http://nixos.org/releases/nixos/. These are periodically deleted because they take up a lot of space. (Note that the nixos-unstable channel is really just a link to the latest NixOS release.) [1] In the future
Re: [Nix-dev] NixOS channel
2012/6/19 Kevin Quick qu...@sparq.org Very interesting information regarding the channels. Can you give some additional advice on how this relates to existing /etc/nixos/* checkouts? As I understand it, all utilities will use channels by default but for backward compatibility, in case there are no channel subscriptions, there are pointers to /etc/nixos/* in $NIX_PATH so everything will fall back to using those old locations. * I currently have local packages in ~/.nix-defexpr. Specifically I have: ~/.nix-defexpr/localnix: {}: let stdpkgs = import /etc/nixos/nixpkgs/pkgs/top-level/all-packages.nix{}; mypkgs = builtins.getEnv HOME + /my_nixexprs; in import mypkgs { inherit stdpkgs }; I can then populate personal packages in the mypkgs tree and they are smoothly integrated for nix-env. Is it still possible to do this somehow with the channel setup? See [this recent discussion][1]. By the way, I guess, you'd rather be using ``packageOverrides`` in /.nixpkgs/config.nix instead of your localnix expression. * Can you --add multiple channels? Sure. * Can multiple channels cross-reference packages? Total cross-referencing or backward-only? Doesn't seem to be a good idea anyway… * How are conflicts resolved with multiple channels? If you use package names, then the best match will be determined as always, I guess. You should use -A option to distinguish different sources. [1]: http://thread.gmane.org/gmane.linux.distributions.nixos/8834 -- Кирилл Елагин ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev
[Nix-dev] NixOS channel
Hi all, Since a few weeks there is a NixOS channel, which is now the default mechanism for keeping NixOS up to date. (A channel is a Nix mechanism for distributing a consistent set of Nix expressions and binaries.) A quick summary on how to use it: $ nix-channel --add http://nixos.org/releases/nixos/channels/nixos-unstable $ nix-channel --update $ nixos-rebuild switch The NixOS channel contains a copy of Nixpkgs (but only the binaries for i686-linux and x86_64-linux), so after nix-channel --update you can install packages via nix-env: $ nix-env -i thunderbird or, if you prefer the -A option: $ nix-env -iA nixos.pkgs.thunderbird The advantages of using a channel over the previous way (doing svn up /etc/nixos/* a.k.a. nixos-checkout) are: - Correctness: The channel is only updated to a new revision of NixOS/Nixpkgs if it passes certain tests - specifically, if all jobs in the nixos:tested view succeed (http://hydra.nixos.org/view/nixos/tested). So you have a reasonable certainty that the new version will actually work. By contrast, if you update to the latest revision using nixos-checkout, it's quite possible that somebody just committed something that broke the entire system. - Efficiency: The channel is only updated after all Hydra builds in that revision have finished, *and* all binaries have been mirrored. (Binary patches are generated asynchronously, however, since they can take much longer to produce.) So you don't have to worry about somebody just having committed something that causes a huge recompilation. This makes keeping NixOS up to date a rather more pleasant activity, IMHO. Some things to note: - The downloaded channel sources are stored in /nix/var/nix/profiles/per-user/root/channels/nixos (which is actually in the Nix store). The $NIX_PATH environment variable contains this directory, so nixos and nixpkgs in Nix expressions resolve there unless overriden through $NIX_PATH or the -I flag. - In principle, you can do rollbacks on the channels profile (nix-env -p /nix/var/nix/profiles/per-user/root/channels --rollback) if you don't like the result of a nix-channel --update. However, this doesn't roll back the corresponding binaries manifest in /nix/var/nix/manifest so its utility is limited [1]. - The NixOS installation CD no longer contains or installs /etc/nixos/{nixos,nixpkgs} but instead uses the NixOS channel. You can of course run nixos-checkout if you want a working tree for development. (In other news, nixos-checkout now accepts a argument to specify the desired location of the working trees, e.g. nixos-checkout /home/eelco/Dev. The default location /etc/nixos may eventually go away since it's a weird location for keeping large source trees.) - To use a development tree in nixos-rebuild, just use the -I flag, e.g. nixos-rebuild switch -I /home/eelco/Dev. - The nixpkgs_sys link in ~/.nix-defexpr is no longer created. Instead you can use nixos.pkgs in nix-env -iA calls, as shown above. nixos.pkgs is the Nixpkgs in the NixOS channel, so it's guaranteed to have binaries available. - The command nixos-version prints out the NixOS version you're currently running, e.g. 0.1pre34067-34075. The version string include the NixOS and Nixpkgs revisions, respectively. If you install from SVN it just prints 0.1pre-svn. - Old versions can be installed from http://nixos.org/releases/nixos/. These are periodically deleted because they take up a lot of space. (Note that the nixos-unstable channel is really just a link to the latest NixOS release.) [1] In the future we may get rid of manifests, in which case the Right Thing would happen magically. tl;dr -- Eelco Dolstra | http://www.st.ewi.tudelft.nl/~dolstra/ ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev