{ lib, pkgs, config, ... }: let cfg = config.myServices.websites.librezo.cloud; in { options.myServices.websites.librezo.cloud.enable = lib.mkEnableOption "enable Librezo’s cloud"; config = lib.mkIf cfg.enable { myServices.tools.cloud.farm.instances.librezo = { nextcloud = pkgs.webapps.nextcloud_22; apps = a: [ a.calendar a.spreed a.contacts a.groupfolders a.files_mindmap a.onlyoffice a.talk_matterbridge a.external a.deck a.drawio ]; }; services.websites.env.production.modules = [ "proxy_fcgi" ]; services.websites.env.production.vhostConfs.librezo = { certName = "librezo"; addToCerts = true; certMainHost = "cloud.librezo.com"; hosts = ["cloud.librezo.com"]; root = config.myServices.tools.cloud.farm.rootDirs.librezo; extraConfig = [ config.myServices.tools.cloud.farm.vhosts.librezo ]; }; }; }