diff options
author | Ismaël Bouya <ismael.bouya@normalesup.org> | 2021-05-08 20:17:41 +0200 |
---|---|---|
committer | Ismaël Bouya <ismael.bouya@normalesup.org> | 2021-05-08 20:17:41 +0200 |
commit | ef118cb3c8cf44011004d9eb9074d47610f154fc (patch) | |
tree | 7d0d3197151dc729b93aaad06e33a56eb679bab1 /modules/private/gemini/default.nix | |
parent | f036e975b2b775605a3115393c47552cd56b8163 (diff) | |
download | Nix-ef118cb3c8cf44011004d9eb9074d47610f154fc.tar.gz Nix-ef118cb3c8cf44011004d9eb9074d47610f154fc.tar.zst Nix-ef118cb3c8cf44011004d9eb9074d47610f154fc.zip |
Add a first gemini capsule
Diffstat (limited to 'modules/private/gemini/default.nix')
-rw-r--r-- | modules/private/gemini/default.nix | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/modules/private/gemini/default.nix b/modules/private/gemini/default.nix new file mode 100644 index 0000000..ffe8a12 --- /dev/null +++ b/modules/private/gemini/default.nix | |||
@@ -0,0 +1,26 @@ | |||
1 | { lib, config, pkgs, ... }: | ||
2 | let | ||
3 | configFile = pkgs.writeText "config.yaml" '' | ||
4 | listen: ":1965" | ||
5 | hosts: | ||
6 | immae.eu: | ||
7 | cert: /var/lib/acme/immae/full.pem | ||
8 | key: /var/lib/acme/immae/key.pem | ||
9 | paths: | ||
10 | - path: / | ||
11 | root: ${./public} | ||
12 | ''; | ||
13 | in | ||
14 | { | ||
15 | options.myServices.gemini.enable = lib.mkEnableOption "enable Gemini capsule"; | ||
16 | config = lib.mkIf config.myServices.gemini.enable { | ||
17 | networking.firewall.allowedTCPPorts = [ 1965 ]; | ||
18 | systemd.services.gemini = { | ||
19 | description = "Gemini capsule server"; | ||
20 | wantedBy = [ "multi-user.target" ]; | ||
21 | after = [ "network.target" ]; | ||
22 | serviceConfig.ExecStart = "${pkgs.twins}/bin/twins -config ${configFile}"; | ||
23 | serviceConfig.Type = "simple"; | ||
24 | }; | ||
25 | }; | ||
26 | } | ||