···11-read if cute
11+# knotserver-module
2233-# this is experimental code
33+this flake contains an modified alternative (maybe opinionated) nixos module to the one provided in the [official core flake](https://tangled.sh/@tangled.sh/core).
4455-i am not responsible if your car explodes after deploying this module.
55+this module enables some extra things not in the official module. at time of writing, those are:
6677-## license
77+- securely define secrets like KNOT_SERVER_SECRET via an environment file (i.e. `.env`)
88+- proper support for `services.tangled-knotserver.server.internalListenAddr`
99+- proper(-ish) support for setting a `gitUser`
1010+ - not 100% perfect because appview still displays `git` as the clone user.
1111+- allow setting extra options via environment variables with a freeform option `services.tangled-knotserver.extraConfig`
1212+- does not add an unnecessary overlay to your system
1313+ - this also fixes a pitfall where the user's nixpkgs version doesn't match the flake's nixpkgs version (and thus the imported overlay's version in the module), and there were changes to the derivation argument.
81499-mit, because i literally extracted the entire module from the [original flake](https://tangled.sh/@tangled.sh/core/blob/master/flake.nix).
1515+and some minor opinionated things like
1616+1717+- better fhs compliance
1818+ - according to some fhs is mostly a meme, but i personally don't like the idea of having executables in /etc. putting a wrapped executable in /run is probably still not compliant, but i believe it makes more sense there than a directory with mostly configuration files.
1919+ - logging to `/var/log/knotserver` prevents other users from messing around with repoguard, possibly a dos by just creating `/tmp/repoguard.log`.
2020+ - these changes should not affect usage at all, just implementation details.
2121+2222+## stability
2323+2424+this module is stable to use.
2525+2626+we're also dogfooding this module [here](https://tangled.sh/did:plc:jmr637khkdb2fdxxvoyj672m/gensokyo/blob/main/systems/koumakan/services/scm/tangled-knot.nix).
10271128please don't go to tangled for support if you use the module, make an issue on this repo instead.
2929+i also idle in <irc://irc.libera.chat/#tangled> as `soopyc` if you prefer instant messaging.
3030+3131+## license
3232+3333+mit, because i literally extracted and modified the entire module from the [original flake](https://tangled.sh/@tangled.sh/core/blob/master/flake.nix).