forked from
lass.pds.lassul.us/superconfig
This repository has no description
1.7 kB
59 lines
1{ config, pkgs, ... }:
2{
3 security.acme = {
4 certs."lassul.us" = {
5 group = "lasscert";
6 };
7 };
8
9 users.groups.lasscert.members = [
10 "exim"
11 "nginx"
12 ];
13
14 services.nginx.virtualHosts."lassul.us" = {
15 addSSL = true;
16 enableACME = true;
17 default = true;
18 locations."/".extraConfig = ''
19 root /srv/http/lassul.us;
20 '';
21 locations."= /retiolum-hosts.tar.bz2".extraConfig = ''
22 alias ${config.krebs.tinc.retiolum.hostsArchive};
23 '';
24 locations."= /hosts".extraConfig = ''
25 alias ${pkgs.krebs-hosts_combined};
26 '';
27 locations."= /retiolum.hosts".extraConfig = ''
28 alias ${pkgs.krebs-hosts-retiolum};
29 '';
30 locations."= /wireguard-key".extraConfig = ''
31 alias ${pkgs.writeText "prism.wg" config.krebs.hosts.prism.nets.wiregrill.wireguard.pubkey};
32 '';
33 locations."= /krebspage".extraConfig = ''
34 default_type "text/html";
35 alias ${pkgs.krebspage}/index.html;
36 '';
37 locations."= /init".extraConfig =
38 let
39 initscript = pkgs.init.override {
40 pubkey = config.krebs.users.lass.pubkey;
41 };
42 in
43 ''
44 alias ${initscript}/bin/init;
45 '';
46 locations."= /blue.pub".extraConfig = ''
47 alias ${pkgs.writeText "pub" config.krebs.users.lass-blue.pubkey};
48 '';
49 locations."= /ssh.pub".extraConfig = ''
50 alias ${pkgs.writeText "pub" config.krebs.users.lass-yubikey.pubkey};
51 '';
52 locations."= /gpg.pub".extraConfig = ''
53 alias ${pkgs.writeText "pub" config.krebs.users.lass-yubikey.pgp.pubkeys.default};
54 '';
55 locations."= /ip".extraConfig = ''
56 return 200 '$remote_addr';
57 '';
58 };
59}