{ lib, pkgs, config, ... }: let cfg = config.myServices.websites.noctambules.cloud; in { options.myServices.websites.noctambules.cloud.enable = lib.mkEnableOption "enable Noctambules’s cloud"; config = lib.mkIf cfg.enable { myServices.tools.cloud.farm.instances.noctambules = { nextcloud = pkgs.webapps.nextcloud_23; apps = a: [ a.calendar a.deck a.tasks ]; }; services.websites.env.production.modules = [ "proxy_fcgi" ]; services.websites.env.production.vhostConfs.noctambules = { certName = "noctambules"; certMainHost = "cloud.les-noctambules.com"; addToCerts = true; hosts = ["cloud.les-noctambules.com"]; root = config.myServices.tools.cloud.farm.rootDirs.noctambules; extraConfig = [ config.myServices.tools.cloud.farm.vhosts.noctambules ]; }; }; }