79b5fce68a
I may not use any of these. I'm just scrawling notes as blog posts to see if anything sticks.
1.3 KiB
1.3 KiB
title | date | draft |
---|---|---|
Lets Learn Nix Caching | 2020-03-17T18:05:38Z | true |
TL;DR
- I use
NixOS/nixpkgs-channels
instead ofNixOS/nixpkgs
and avoidnix-channel
.
More information
- By default the Nix package manager uses cache.nixos.org as a binary cache.
- Visit status.nixos.org
git clone git@github.com:NixOS/nixpkgs-channels
instead ofNixOS/nixpkgs
. The former mirrors the latter and uses Git branches to track the published channels.
What is a Nix channel
If you run...
$ git clone git@github.com:NixOS/nixpkgs ~/nixpkgs
$ export NIX_PATH="nixpkgs=$(realpath ~/nixpkgs)"
One benefit to cloning nixpkgs is that you can browse the source code on your
machine using tools like git
and emacs
. You can also experimentally patch
and test Nix code this way.
If any of the above appeals to you, clone nixpkgs-channels
instead.
The Nix maintainers build and test the commits from nixpkgs
using Hydra. Tests
include reproducibility tests, etc.
Various channels have different verification phases.
The cache at cache.nixos.org is populate the cache at cache.nixos.org.
You want to increase the likelihood that you are hitting this cache. For
example, google-chrome
takes hours to build.