mirror of
https://github.com/ryan4yin/nix-config.git
synced 2026-11-13 12:13:46 +01:00
feat(youko): add pull-through cache for two Nix upstreams (#499)
Run nginx on youko as a loopback pull-through HTTP cache for cache.nixos.org and cache.numtide.com, exposed by Caddy at https://nix-cache.writefor.fun. Assisted-by: DeepSeek Harness (deepseek-flash)
This commit is contained in:
1 parent
9fe86de51d
commit
58d1af8f9d
9 files changed
+136
-8
No files matched your search
@@ -0,0 +1,11 @@
|
||||
{
|
||||
nginxEnabled = true;
|
||||
caddyVhostExists = true;
|
||||
ustcRemainsFirst = true;
|
||||
nixosProxyConfigured = true;
|
||||
numtideProxyConfigured = true;
|
||||
numtideDirectFallback = true;
|
||||
cacheLivesOnDataVolume = true;
|
||||
nixosUpstream = "https://cache.nixos.org/";
|
||||
numtideUpstream = "https://cache.numtide.com/";
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
lib,
|
||||
outputs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = outputs.nixosConfigurations.youko.config;
|
||||
nginx = cfg.services.nginx;
|
||||
substituters = cfg.nix.settings.substituters;
|
||||
in
|
||||
{
|
||||
nginxEnabled = nginx.enable;
|
||||
caddyVhostExists = cfg.services.caddy.virtualHosts ? "nix-cache.writefor.fun";
|
||||
ustcRemainsFirst = builtins.head substituters == "https://mirrors.ustc.edu.cn/nix-channels/store";
|
||||
nixosProxyConfigured = builtins.elem "https://nix-cache.writefor.fun/cache.nixos.org" substituters;
|
||||
numtideProxyConfigured = builtins.elem "https://nix-cache.writefor.fun/cache.numtide.com" substituters;
|
||||
numtideDirectFallback = builtins.elem "https://cache.numtide.com" substituters;
|
||||
cacheLivesOnDataVolume = lib.hasInfix "/data/apps/nix-cache-proxy" nginx.appendHttpConfig;
|
||||
nixosUpstream = nginx.virtualHosts."nix-cache-proxy".locations."/cache.nixos.org/".proxyPass;
|
||||
numtideUpstream = nginx.virtualHosts."nix-cache-proxy".locations."/cache.numtide.com/".proxyPass;
|
||||
}
|
||||
Reference in new issue
Block a user