1 { lib, config, pkgs, ... }:
3 configFile = pkgs.writeText "config.yaml" ''
7 cert: /var/lib/acme/immae/full.pem
8 key: /var/lib/acme/immae/key.pem
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";