aboutsummaryrefslogblamecommitdiff
path: root/virtual/modules/websites/aten.nix
blob: 1a65389ca564377eaf96e6bd4e124416ed3bb5be (plain) (tree)
1
2
3
4
5
6

                                   



                                                                                                     


















                                                                                 


                                                                      
                                                                                    


                                                                       

                                                                    
                                                                                  



      
{ lib, pkgs, config, mylibs, ... }:
let
    aten = pkgs.callPackage ../../packages/aten.nix { inherit (mylibs) checkEnv fetchedGitPrivate; };
    aten_dev  = aten { environment = "dev"; };
    aten_prod = aten { environment = "prod"; };

    cfg = config.services.myWebsites.Aten;
in {
  options.services.myWebsites.Aten = {
    production = {
      enable = lib.mkEnableOption "enable Aten's website in production";
    };
    integration = {
      enable = lib.mkEnableOption "enable Aten's website in integration";
    };
  };

  config = lib.mkMerge [
    (lib.mkIf cfg.production.enable {
      security.acme.certs."aten" = config.services.myCertificates.certConfig // {
        domain = "aten.pro";
        extraDomains = {
          "www.aten.pro" = null;
        };
      };

      services.phpfpm.poolConfigs.aten_prod = aten_prod.phpFpm.pool;
      system.activationScripts.aten_prod = aten_prod.activationScript;
      services.myWebsites.apacheConfig.aten_prod.modules = aten_prod.apache.modules;
    })
    (lib.mkIf cfg.integration.enable {
      security.acme.certs."eldiron".extraDomains."dev.aten.pro" = null;
      services.phpfpm.poolConfigs.aten_dev = aten_dev.phpFpm.pool;
      system.activationScripts.aten_dev = aten_dev.activationScript;
      services.myWebsites.apacheConfig.aten_dev.modules = aten_dev.apache.modules;
    })
  ];
}