greenhouse

kore

my public infrastructure monorepo

git clone [email protected]:kore.git

kore / nixos / roles / web.nix37 lines · 847B · raw

1{ config, pkgs, ... }:
2
3let
4  inherit (config.networking) domain;
5  admin = builtins.head config.kore.currentHost.users;
6in {
7  security.acme = {
8    acceptTerms = true;
9    defaults.email = config.kore.identities.${admin}.email;
10  };
11
12  services.nginx = {
13    enable = true;
14
15    recommendedTlsSettings = true;
16    recommendedOptimisation = true;
17    recommendedGzipSettings = true;
18    recommendedProxySettings = true;
19
20    virtualHosts.${domain} = {
21      enableACME = true;
22      forceSSL = true;
23
24      root = pkgs.writeTextDir "index.html" ''
25        <!doctype html>
26        <html lang="en">
27        <meta charset="utf-8">
28        <title>${domain}</title>
29        <p>soon</p>
30        </html>
31      '';
32    };
33  };
34
35  networking.firewall.allowedTCPPorts = [ 80 443 ];
36  environment.persistence."/persist".directories = [ "/var/lib/acme" ];
37}