{ lib, pkgs, config, myconfig, ... }: let cfg = config.services.myWebsites.Capitaines; env = myconfig.env.websites.capitaines; webappName = "capitaines_mastodon"; root = "/run/current-system/webapps/${webappName}"; siteDir = ./mastodon_static; in { options.services.myWebsites.Capitaines = { production = { enable = lib.mkEnableOption "enable Capitaines's website"; }; }; config = lib.mkIf cfg.production.enable { system.extraSystemBuilderCmds = '' mkdir -p $out/webapps ln -s ${siteDir} $out/webapps/${webappName} ''; services.websites.production.vhostConfs.capitaines_mastodon = { certName = "capitaines"; certMainHost = "mastodon.capitaines.fr"; hosts = [ "mastodon.capitaines.fr" ]; root = root; extraConfig = [ '' ErrorDocument 404 /index.html DirectoryIndex index.html Options Indexes FollowSymLinks MultiViews Includes Require all granted '' ]; }; services.websites.production.vhostConfs.capitaines = { certName = "capitaines"; addToCerts = true; hosts = [ "capitaines.fr" ]; root = "/run/current-system/webapps/_www"; extraConfig = [ '' DirectoryIndex index.htm Require all granted '' ]; }; }; }