diff options
Diffstat (limited to 'modules/private/websites/capitaines/landing_pages.nix')
-rw-r--r-- | modules/private/websites/capitaines/landing_pages.nix | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/modules/private/websites/capitaines/landing_pages.nix b/modules/private/websites/capitaines/landing_pages.nix new file mode 100644 index 0000000..b94a398 --- /dev/null +++ b/modules/private/websites/capitaines/landing_pages.nix | |||
@@ -0,0 +1,60 @@ | |||
1 | { lib, config, ... }: | ||
2 | let | ||
3 | cfg = config.myServices.websites.capitaines.landing_pages; | ||
4 | webappdirs = config.services.websites.webappDirsPaths; | ||
5 | certName = "capitaines"; | ||
6 | domain = "capitaines.fr"; | ||
7 | in { | ||
8 | options.myServices.websites.capitaines.landing_pages.enable = lib.mkEnableOption "enable Capitaines's landing pages"; | ||
9 | |||
10 | config = lib.mkIf cfg.enable { | ||
11 | services.websites.webappDirs.capitaines_mastodon = ./mastodon_static; | ||
12 | services.websites.env.production.vhostConfs.capitaines_mastodon = rec { | ||
13 | inherit certName; | ||
14 | certMainHost = "mastodon.${domain}"; | ||
15 | hosts = [ certMainHost ]; | ||
16 | root = webappdirs.capitaines_mastodon; | ||
17 | extraConfig = [ | ||
18 | '' | ||
19 | ErrorDocument 404 /index.html | ||
20 | <Directory ${webappdirs.capitaines_mastodon}> | ||
21 | DirectoryIndex index.html | ||
22 | Options Indexes FollowSymLinks MultiViews Includes | ||
23 | Require all granted | ||
24 | </Directory> | ||
25 | '' | ||
26 | ]; | ||
27 | }; | ||
28 | |||
29 | services.websites.webappDirs.capitaines_discourse = ./discourse_static; | ||
30 | services.websites.env.production.vhostConfs.capitaines_discourse = { | ||
31 | inherit certName; | ||
32 | addToCerts = true; | ||
33 | hosts = [ "discourse.${domain}" ]; | ||
34 | root = webappdirs.capitaines_discourse; | ||
35 | extraConfig = [ | ||
36 | '' | ||
37 | ErrorDocument 404 /index.html | ||
38 | <Directory ${webappdirs.capitaines_discourse}> | ||
39 | DirectoryIndex index.html | ||
40 | Options Indexes FollowSymLinks MultiViews Includes | ||
41 | Require all granted | ||
42 | </Directory> | ||
43 | '' | ||
44 | ]; | ||
45 | }; | ||
46 | |||
47 | services.websites.env.production.vhostConfs.capitaines = { | ||
48 | inherit certName; | ||
49 | addToCerts = true; | ||
50 | hosts = [ domain ]; | ||
51 | root = webappdirs._www; | ||
52 | extraConfig = [ '' | ||
53 | <Directory ${webappdirs._www}> | ||
54 | DirectoryIndex index.htm | ||
55 | Require all granted | ||
56 | </Directory> | ||
57 | '' ]; | ||
58 | }; | ||
59 | }; | ||
60 | } | ||