about summary refs log tree commit diff
path: root/blog/content/english/lets-learn-nix-caching.md
diff options
context:
space:
mode:
authorWilliam Carroll <wpcarro@gmail.com>2020-03-17T22·42+0000
committerWilliam Carroll <wpcarro@gmail.com>2020-03-17T22·42+0000
commit79b5fce68a6e4c0a190f69b319b8e4f46ede3f91 (patch)
tree5894c754f45b4224d1c39fec5dbf97766ab09198 /blog/content/english/lets-learn-nix-caching.md
parent209fdf5726a7e80ad4b99e2a6505b6522094a774 (diff)
Scatter blog post ideas for "Let's Learn Nix"
I may not use any of these. I'm just scrawling notes as blog posts to see if
anything sticks.
Diffstat (limited to 'blog/content/english/lets-learn-nix-caching.md')
-rw-r--r--blog/content/english/lets-learn-nix-caching.md49
1 files changed, 49 insertions, 0 deletions
diff --git a/blog/content/english/lets-learn-nix-caching.md b/blog/content/english/lets-learn-nix-caching.md
new file mode 100644
index 000000000000..a436d4de25eb
--- /dev/null
+++ b/blog/content/english/lets-learn-nix-caching.md
@@ -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?