dotfiles/nixos/modules/nginx.nix

37 lines
1.0 KiB
Nix
Raw Normal View History

{ config, lib, pkgs, ... }:
let
2021-05-29 18:05:31 +02:00
sslcfg = dir: ''
ssl on;
ssl_certificate_key ${dir}/key.pem;
ssl_certificate ${dir}/fullchain.pem;
ssl_trusted_certificate ${dir}/fullchain.pem;
add_header Strict-Transport-Security max-age=15768000;
2021-05-29 18:05:31 +02:00
'';
2021-05-29 18:05:31 +02:00
in {
2018-03-11 18:28:25 +01:00
config = lib.mkIf config.services.nginx.enable {
2021-05-29 18:05:31 +02:00
services.nginx = {
recommendedTlsSettings = true;
recommendedGzipSettings = true;
recommendedProxySettings = true;
recommendedOptimisation = true;
serverTokens = false;
sslDhparam = "/etc/nginx/dhparam.pem";
2021-01-03 16:40:38 +01:00
virtualHosts."${config.networking.hostName}.yori.cc" = {
2018-03-11 18:28:25 +01:00
enableACME = true;
forceSSL = true;
default = true;
};
};
2021-05-29 18:05:31 +02:00
networking.firewall.allowedTCPPorts = [ 80 443 ];
system.activationScripts.nginxdhparams = ''
if ! [[ -e /etc/nginx/dhparam.pem ]]; then
mkdir -p /etc/nginx/
${pkgs.openssl}/bin/openssl dhparam -out /etc/nginx/dhparam.pem 2048
chown nginx:nginx /etc/nginx/dhparam.pem
2021-05-29 18:05:31 +02:00
fi
2018-03-11 18:28:25 +01:00
'';
2021-05-29 18:05:31 +02:00
};
}