2024-05-24 11:42:49 -04:00
|
|
|
{
|
|
|
|
|
lib,
|
|
|
|
|
config,
|
|
|
|
|
pkgs,
|
|
|
|
|
...
|
|
|
|
|
}:
|
|
|
|
|
with lib;
|
|
|
|
|
with lib.custom; let
|
|
|
|
|
cfg = config.services.web.nginx;
|
|
|
|
|
in {
|
|
|
|
|
options.services.web.nginx = with types; {
|
|
|
|
|
enable = mkBoolOpt false "Enable NGINX Service";
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
config = mkIf cfg.enable {
|
2024-07-26 12:29:55 -04:00
|
|
|
security.dhparams = {
|
|
|
|
|
enable = true;
|
|
|
|
|
params.nginx = {};
|
|
|
|
|
};
|
|
|
|
|
|
2024-05-24 11:42:49 -04:00
|
|
|
services.nginx = {
|
|
|
|
|
enable = true;
|
|
|
|
|
package = pkgs.nginxStable.override {openssl = pkgs.libressl;};
|
|
|
|
|
recommendedProxySettings = true;
|
2024-07-26 12:29:55 -04:00
|
|
|
recommendedGzipSettings = true;
|
|
|
|
|
recommendedOptimisation = true;
|
|
|
|
|
recommendedTlsSettings = true;
|
|
|
|
|
sslDhparam = config.security.dhparams.params.nginx.path;
|
2024-05-24 11:42:49 -04:00
|
|
|
virtualHosts = {
|
|
|
|
|
"node.nyc.zackmyers.io" = {
|
|
|
|
|
forceSSL = true;
|
|
|
|
|
enableACME = true;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
}
|