]>
Commit | Line | Data |
---|---|---|
ef118cb3 IB |
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 | } |