aboutsummaryrefslogtreecommitdiff
path: root/modules/private/gemini/default.nix
diff options
context:
space:
mode:
authorIsmaël Bouya <ismael.bouya@normalesup.org>2021-05-08 20:17:41 +0200
committerIsmaël Bouya <ismael.bouya@normalesup.org>2021-05-08 20:17:41 +0200
commitef118cb3c8cf44011004d9eb9074d47610f154fc (patch)
tree7d0d3197151dc729b93aaad06e33a56eb679bab1 /modules/private/gemini/default.nix
parentf036e975b2b775605a3115393c47552cd56b8163 (diff)
downloadNix-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.nix26
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, ... }:
2let
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 '';
13in
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}