about summary refs log tree commit diff
path: root/tools/nixery/build-registry-image.nix
diff options
context:
space:
mode:
authorVincent Ambo <tazjin@google.com>2019-07-24T17·53+0000
committerVincent Ambo <tazjin@google.com>2019-07-24T17·53+0000
commit6dd0ac3189559fa4934fabe3bf56850f4865e77f (patch)
tree450011c98b80519541daf733bcde12671811e4fb /tools/nixery/build-registry-image.nix
parent948f308025e5d1a3a4575b41d4b20d97f363c5c2 (diff)
feat(nix): Import nixpkgs from a configured Nix channel
Instead of using whatever the current system default is, import a Nix
channel when building an image.

This will use Nix' internal caching behaviour for tarballs fetched
without a SHA-hash.

For now the downloaded channel is pinned to nixos-19.03.
Diffstat (limited to 'tools/nixery/build-registry-image.nix')
-rw-r--r--tools/nixery/build-registry-image.nix10
1 files changed, 8 insertions, 2 deletions
diff --git a/tools/nixery/build-registry-image.nix b/tools/nixery/build-registry-image.nix
index 5c5579fa2e0b..25d1f59e714e 100644
--- a/tools/nixery/build-registry-image.nix
+++ b/tools/nixery/build-registry-image.nix
@@ -34,10 +34,16 @@
   # plenty of room for extension. I believe the actual maximum is
   # 128.
   maxLayers ? 24,
-  # Nix package set to use
-  pkgs ? (import <nixpkgs> {})
+  # Nix channel to use
+  channel ? "nixos-19.03"
 }:
 
+# Import the specified channel directly from Github.
+let
+  channelUrl = "https://github.com/NixOS/nixpkgs-channels/archive/${channel}.tar.gz";
+  pkgs = import (builtins.fetchTarball channelUrl) {};
+in
+
 # Since this is essentially a re-wrapping of some of the functionality that is
 # implemented in the dockerTools, we need all of its components in our top-level
 # namespace.