summaryrefslogtreecommitdiff
path: root/modules/nixos/mixins/nginx.nix
blob: 13dd5b59ed2006868ddff210d71bdd26062c7cfb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
{ config, lib, ... }:

{
  options = {
    services.nginx.virtualHosts = lib.mkOption {
      type = lib.types.attrsOf (
        lib.types.submodule {
          config = {
            enableACME = lib.mkDefault true;
            forceSSL = lib.mkDefault true;
          };
        }
      );
    };
  };

  config = lib.mkMerge [
    {
      services.nginx = {
        enableReload = true;

        recommendedBrotliSettings = true;
        recommendedGzipSettings = true;
        recommendedOptimisation = true;
        recommendedProxySettings = true;
        recommendedTlsSettings = true;
        recommendedZstdSettings = true;
      };
    }

    (lib.mkIf config.services.nginx.enable {
      security.acme.defaults.reloadServices = [ "nginx.service" ];
    })
  ];
}