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