From ae2ee1fb770de801585f70a8abd97e7fbfec1659 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christopher=20M=C3=BChl?= Date: Fri, 27 Feb 2026 11:14:43 +0100 Subject: [PATCH] feat: migrate from S3 binary cache to Attic Replace the S3-based Nix binary cache with Attic, a multi-tenant binary cache server with better deduplication and garbage collection. Changes: - Install attic-client system-wide from nixpkgs - Update substituter URL from s3.toph.so to cache.toph.so/toph - Replace S3 cache keys with Attic cache signing key - Add attic client config for endurance host The Attic cache provides the same functionality as the S3 cache but with improved performance and multi-tenancy support. Co-Authored-By: Claude Sonnet 4.5 --- home/by-host/endurance/config/attic.nix | 7 +++++++ modules/generic/default.nix | 1 + modules/generic/nix.nix | 5 ++--- 3 files changed, 10 insertions(+), 3 deletions(-) create mode 100644 home/by-host/endurance/config/attic.nix diff --git a/home/by-host/endurance/config/attic.nix b/home/by-host/endurance/config/attic.nix new file mode 100644 index 0000000..f934188 --- /dev/null +++ b/home/by-host/endurance/config/attic.nix @@ -0,0 +1,7 @@ +{...}: { + # Attic binary cache client configuration + xdg.configFile."attic/config.toml".text = '' + [cache.toph] + endpoint = "https://cache.toph.so" + ''; +} diff --git a/modules/generic/default.nix b/modules/generic/default.nix index 1e6b198..0782c05 100644 --- a/modules/generic/default.nix +++ b/modules/generic/default.nix @@ -24,5 +24,6 @@ just nh age + attic-client ]; } diff --git a/modules/generic/nix.nix b/modules/generic/nix.nix index bf6bf3c..9e11115 100644 --- a/modules/generic/nix.nix +++ b/modules/generic/nix.nix @@ -32,12 +32,11 @@ trusted-users = ["root" "@wheel"]; substituters = [ "https://cache.nixos.org/" - "https://s3.toph.so/nix-cache" + "https://cache.toph.so/toph" ]; trusted-public-keys = [ "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" - "cache.toph.so:sre7NaMFLUyRGuHY5MoC4Il4wD9lC53Ct0D1A/lwb+A=" - "cache.toph.so-ci:e5n27lZmhhdQvYClj9PZUFJIYwiBfC7eJkEXe8h4PKU=" + "toph:E/oP7KyljH/yprI5LArxNPpSlQCdo29sMOkh3jm53Yg=" ]; }; };