1# see /docs/utils.md for a usage guide 2 3{ ... }: 4 5# let 6 # lib = pkgs.lib; 7# in 8rec { 9 mkVhost = opts: { 10 # ideally mkOverride/mkDefault would be used, but i have 0 idea how it works. 11 forceSSL = true; 12 useACMEHost = "global.c.soopy.moe"; 13 kTLS = true; 14 } // opts; 15 16 mkSimpleProxy = { 17 port, 18 protocol ? "http", 19 location ? "/", 20 websockets ? false 21 }: mkVhost { 22 locations."${location}" = { 23 proxyPass = "${protocol}://localhost:${toString port}"; 24 proxyWebsockets = websockets; 25 }; 26 }; 27}