48 lines
953 B
Nix
48 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
|
|
];
|
|
}
|