]> Untitled Git - MarigoldOS/.git/blob - profiles/twtxt.nix
Initial Commit
[MarigoldOS/.git] / profiles / twtxt.nix
1 { pkgs, config, users, lib, ... }:
2 let
3   fqdn = "twtxt.${config.networking.fqdn}";
4 in
5 {
6   users.groups = {
7     twtxt = {};
8   };
9   environment.systemPackages = [
10     pkgs.twtxt
11   ];
12   services.nginx = {
13     enable = lib.mkDefault true;
14     virtualHosts."${fqdn}" = {
15       root = "/var/lib/twtxt";
16       enableACME = config.security.acme.acceptTerms;
17       forceSSL = config.security.acme.acceptTerms;
18       locations = {
19         "/" = {
20           tryFiles = "/twtxt.txt =404"; # Read that path out loud three times fast.
21         };
22       };
23     };
24   };
25   systemd.tmpfiles.rules = lib.mkIf config.services.syncthing.enable [
26     "d '/var/lib/twtxt' 0774 ${config.services.nginx.user} twtxt"
27     "Z '/var/lib/twtxt' 0774 ${config.services.nginx.user} twtxt"
28   ];
29 }