fix(nix): stop automatic rebuilds and nightly GC from tripping GitHub's rate limit

autoUpgrade was silently failing daily on both hosts (legacy channel path,
no --flake set) without reaching the network — disabled outright since
rebuilds should only happen manually. Separately, nix-gc.timer's nightly
sweep was deleting eval-time-only flake input sources (not part of the
runtime closure), forcing the next evaluation to cold-refetch hermes-agent's
entire dependency tree from GitHub in one burst, which alone was enough to
hit the unauthenticated codeload rate limit. keep-outputs/keep-derivations
stop GC from evicting those sources.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TJS8qsYPXSUm5mdWGdaHjF
This commit is contained in:
2026-10-05 14:35:19 +02:00
co-authored by Claude Sonnet 5
parent f7196c0c86
commit 4de92dcbe8
3 changed files with 15 additions and 2 deletions
+7
View File
@@ -12,6 +12,13 @@
settings = { settings = {
auto-optimise-store = true; auto-optimise-store = true;
# Without these, gc sweeps away eval-time-only sources (flake inputs,
# their build deps) since they're not part of the runtime closure.
# The next evaluation then cold-refetches everything from GitHub,
# which is enough on its own to trip GitHub's unauthenticated rate
# limit for large dependency trees (e.g. hermes-agent's).
keep-outputs = true;
keep-derivations = true;
}; };
gc = { gc = {
+4 -1
View File
@@ -72,6 +72,9 @@
system = { system = {
stateVersion = "23.05"; stateVersion = "23.05";
autoUpgrade.enable = true; # Was silently failing daily (legacy channel path, no --flake set) without
# ever reaching the network. Disabled rather than fixed: rebuilds should
# only happen when triggered manually.
autoUpgrade.enable = false;
}; };
} }
+4 -1
View File
@@ -61,6 +61,9 @@
system = { system = {
stateVersion = "23.05"; stateVersion = "23.05";
autoUpgrade.enable = true; # Was silently failing daily (legacy channel path, no --flake set) without
# ever reaching the network. Disabled rather than fixed: rebuilds should
# only happen when triggered manually.
autoUpgrade.enable = false;
}; };
} }