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}