mirror of
https://github.com/ryan4yin/nix-config.git
synced 2026-11-13 12:13:46 +01:00
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)
22 lines
960 B
Nix
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;
|
|
}
|