subtree(users/wpcarro): docking briefcase at '24f5a642'
git-subtree-dir: users/wpcarro git-subtree-mainline:464bbcb15cgit-subtree-split:24f5a642afChange-Id: I6105b3762b79126b3488359c95978cadb3efa789
This commit is contained in:
commit
019f8fd211
766 changed files with 175420 additions and 0 deletions
|
|
@ -0,0 +1,49 @@
|
|||
---
|
||||
title: "Lets Learn Nix Caching"
|
||||
date: 2020-03-17T18:05:38Z
|
||||
draft: true
|
||||
---
|
||||
|
||||
## TL;DR
|
||||
|
||||
1. I use `NixOS/nixpkgs-channels` instead of `NixOS/nixpkgs` and avoid
|
||||
`nix-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 of
|
||||
`NixOS/nixpkgs`. The former mirrors the latter and uses Git branches to track
|
||||
the published channels.
|
||||
|
||||
## What is a Nix channel
|
||||
|
||||
If you run...
|
||||
|
||||
```shell
|
||||
$ 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.
|
||||
|
||||
## What is a binary cache?
|
||||
|
||||
## What is Hydra (Nix CI)?
|
||||
|
||||
## What is Cachix?
|
||||
Loading…
Add table
Add a link
Reference in a new issue