47 lines
		
	
	
	
		
			953 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
	
		
			953 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
{
 | 
						|
  config,
 | 
						|
  pkgs,
 | 
						|
  lib,
 | 
						|
  ...
 | 
						|
}:
 | 
						|
{
 | 
						|
  services.nginx = {
 | 
						|
    enable = true;
 | 
						|
    recommendedProxySettings = true;
 | 
						|
    recommendedTlsSettings = true;
 | 
						|
    recommendedOptimisation = true;
 | 
						|
    recommendedGzipSettings = true;
 | 
						|
    clientMaxBodySize = "512M";
 | 
						|
  };
 | 
						|
 | 
						|
  # Redirect *lelgenio.xyz -> *lelgenio.com
 | 
						|
  services.nginx.virtualHosts =
 | 
						|
    lib.mapAttrs' (key: value: lib.nameValuePair "${key}lelgenio.xyz" value)
 | 
						|
      (
 | 
						|
        lib.genAttrs
 | 
						|
          [
 | 
						|
            ""
 | 
						|
            "social."
 | 
						|
            "blog."
 | 
						|
            "cloud."
 | 
						|
            "mail."
 | 
						|
            "git."
 | 
						|
            "syncthing."
 | 
						|
          ]
 | 
						|
          (name: {
 | 
						|
            enableACME = true;
 | 
						|
            forceSSL = true;
 | 
						|
            locations."/".return = "301 $scheme://${name}lelgenio.com$request_uri";
 | 
						|
          })
 | 
						|
      );
 | 
						|
 | 
						|
  security.acme = {
 | 
						|
    acceptTerms = true;
 | 
						|
    defaults.email = "lelgenio@disroot.org";
 | 
						|
  };
 | 
						|
 | 
						|
  networking.firewall.allowedTCPPorts = [
 | 
						|
    80
 | 
						|
    443
 | 
						|
  ];
 | 
						|
}
 |