./tellesflorian
./ftp/jerome.nix
./ftp/nassime.nix
+ ./ftp/florian.nix
./tools/db
./tools/tools
./tools/dav
services.myWebsites.Connexionswing.production.enable = cfg.production.enable;
services.myWebsites.Jerome.production.enable = cfg.production.enable;
services.myWebsites.Nassime.production.enable = cfg.production.enable;
+ services.myWebsites.Florian.production.enable = cfg.production.enable;
services.myWebsites.Chloe.integration.enable = cfg.integration.enable;
services.myWebsites.Ludivine.integration.enable = cfg.integration.enable;
services.myWebsites.PiedsJaloux.integration.enable = cfg.integration.enable;
services.myWebsites.Connexionswing.integration.enable = cfg.integration.enable;
services.myWebsites.TellesFlorian.integration.enable = true;
+ services.myWebsites.Florian.integration.enable = true;
services.myWebsites.apacheConfig = {
gzip = {
--- /dev/null
+{ lib, pkgs, config, myconfig, mylibs, ... }:
+let
+ adminer = pkgs.callPackage ../commons/adminer.nix {};
+ cfg = config.services.myWebsites.Florian;
+ varDir = "/var/lib/ftp/florian";
+ env = myconfig.env.websites.florian;
+in {
+ options.services.myWebsites.Florian = {
+ production = {
+ enable = lib.mkEnableOption "enable Florian's website production";
+ };
+ integration = {
+ enable = lib.mkEnableOption "enable Florian's website integration";
+ };
+ };
+
+ config = lib.mkMerge [
+ (lib.mkIf cfg.production.enable {
+ security.acme.certs."ftp".extraDomains."tellesflorian.com" = null;
+ security.acme.certs."florian" = config.services.myCertificates.certConfig // {
+ domain = "tellesflorian.com";
+ extraDomains = {
+ "www.tellesflorian.com" = null;
+ };
+ };
+
+ services.myWebsites.production.modules = adminer.apache.modules;
+ services.myWebsites.production.vhostConfs.florian = {
+ certName = "florian";
+ hosts = [ "tellesflorian.com" "www.tellesflorian.com" ];
+ root = "${varDir}/tellesflorian.com";
+ extraConfig = [
+ adminer.apache.vhostConf
+ ''
+ ServerAdmin ${env.server_admin}
+
+ <Directory ${varDir}/tellesflorian.com>
+ DirectoryIndex index.php index.htm index.html
+ Options Indexes FollowSymLinks MultiViews Includes
+ AllowOverride None
+ Require all granted
+ </Directory>
+ ''
+ ];
+ };
+ })
+
+ (lib.mkIf cfg.integration.enable {
+ security.acme.certs."ftp".extraDomains."florian.immae.eu" = null;
+ security.acme.certs."eldiron".extraDomains."florian.immae.eu" = null;
+
+ services.myWebsites.integration.modules = adminer.apache.modules;
+ services.myWebsites.integration.vhostConfs.florian = {
+ certName = "eldiron";
+ hosts = [ "florian.immae.eu" ];
+ root = "${varDir}/florian.immae.eu";
+ extraConfig = [
+ adminer.apache.vhostConf
+ ''
+ ServerAdmin ${env.server_admin}
+
+ <Directory ${varDir}/florian.immae.eu>
+ DirectoryIndex index.php index.htm index.html
+ Options Indexes FollowSymLinks MultiViews Includes
+ AllowOverride None
+ Require all granted
+ </Directory>
+ ''
+ ];
+ };
+ })
+ ];
+}