Files
nix-config/outputs/x86_64-linux/tests/youko-nix-cache-proxy/expr.nix
T
ryan4yin | 二花 58d1af8f9d 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)
2026-11-01 18:27:43 +08:00

22 lines
960 B
Nix

{
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;
}