summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--machines/bismuth/default.nix1
-rw-r--r--modules/binary-cache.nix23
2 files changed, 24 insertions, 0 deletions
diff --git a/machines/bismuth/default.nix b/machines/bismuth/default.nix
index 165b944..f01b4ec 100644
--- a/machines/bismuth/default.nix
+++ b/machines/bismuth/default.nix
@@ -7,6 +7,7 @@
     ./hardware.nix
     ./devices.nix
 
+    ../../modules/binary-cache.nix
     ../../modules/syncthing.nix
     ../../modules/nvidia.nix
   ];
diff --git a/modules/binary-cache.nix b/modules/binary-cache.nix
new file mode 100644
index 0000000..431532a
--- /dev/null
+++ b/modules/binary-cache.nix
@@ -0,0 +1,23 @@
+# the public key for the current iteration of this cache is:
+# bismuth-1:Fkyzfd9gfMUVKq/KfNClHaB2rUiAGtXTzYu96oZteKQ=
+
+{ unstablePkgs, ... }:
+
+let
+  # bismuth's tailnet address
+  cacheAddress = "100.85.58.31:3000";
+in
+{
+  services.harmonia = {
+    enable = true;
+    # 24.11 does not include built-in zstd compression for harmonia yet.
+    package = unstablePkgs.harmonia;
+    # TODO: secrets...
+    signKeyPaths = [ "/var/bismuth-binary-cache-key.pem" ];
+
+    settings = {
+      bind = cacheAddress;
+      priority = 50; # lower priority than `cache.nixos.org`
+    };
+  };
+}