{ lib, pkgs, config, myconfig, ... }: let cfg = config.myServices.websites.capitaines.production; env = myconfig.env.websites.capitaines; webappName = "capitaines_mastodon"; root = "/run/current-system/webapps/${webappName}"; siteDir = ./mastodon_static; in { options.myServices.websites.capitaines.production.enable = lib.mkEnableOption "enable Capitaines's website"; config = lib.mkIf cfg.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 '' ]; }; }; }