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 53 54 55 56 57 58 59 60 61
{ jolheiser, inputs, pkgs, lib, ... }: let enable = true; in lib.mkIf enable { services.caddy = { enable = true; virtualHosts = { "${jolheiser.domain}" = { extraConfig = '' handle_path /.well-known/webfinger { header Content-Type application/jrd+json respond ${ builtins.toJSON { subject = "acct:john@${jolheiser.domain}"; links = [ { rel = "http://openid.net/specs/connect/1.0/issuer"; href = "https://id.${jolheiser.domain}"; } ]; } } } 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.domain}" ]; }; "blog.${jolheiser.domain}" = { extraConfig = '' root * ${inputs.blog.packages.${pkgs.stdenv.hostPlatform.system}.default} file_server ''; }; "dev.${jolheiser.domain}".extraConfig = '' reverse_proxy localhost:3389 handle_errors 502 503 504 { respond "No active tunnel" } ''; }; }; }