https://git.jolheiser.com/infra.git
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
{ inputs, pkgs, ... }: { services.caddy = { enable = true; virtualHosts = { "jolheiser.com" = { extraConfig = '' handle_path /.well-known/webfinger { header Content-Type application/jrd+json respond ${ builtins.toJSON { subject = "acct:john@jolheiser.com"; links = [ { rel = "http://openid.net/specs/connect/1.0/issuer"; href = "https://id.jolheiser.com"; } ]; } } } handle_path /bennet* { root * ${inputs.bennet.packages.${pkgs.stdenv.hostPlatform.system}.default} file_server } handle /resume* { root * ${inputs.resume.packages.${pkgs.stdenv.hostPlatform.system}.default} rewrite /resume /resume.pdf file_server } handle { root * ${inputs.website.packages.${pkgs.stdenv.hostPlatform.system}.default} file_server } ''; serverAliases = [ "www.jolheiser.com" ]; }; "blog.jolheiser.com" = { extraConfig = '' root * ${inputs.blog.packages.${pkgs.stdenv.hostPlatform.system}.default} file_server ''; }; "dev.jolheiser.com".extraConfig = '' reverse_proxy localhost:3389 handle_errors 502 503 504 { respond "No active tunnel" } ''; }; }; }