diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix
index 6c8341c1115f..750677f6165d 100644
--- a/nixos/modules/services/web-servers/nginx/default.nix
+++ b/nixos/modules/services/web-servers/nginx/default.nix
@@ -397,6 +397,9 @@ in
default = pkgs.nginxStable;
defaultText = "pkgs.nginxStable";
type = types.package;
+ apply = p: p.override {
+ modules = p.modules ++ cfg.additionalModules;
+ };
description = "
Nginx package to use. This defaults to the stable version. Note
that the nginx team recommends to use the mainline version which
@@ -404,6 +407,17 @@ in
";
};
+ additionalModules = mkOption {
+ default = [];
+ type = types.listOf (types.attrsOf types.anything);
+ example = literalExample "[ pkgs.nginxModules.brotli ]";
+ description = ''
+ Additional third-party nginx modules
+ to install. Packaged modules are available in
+ pkgs.nginxModules.
+ '';
+ };
+
logError = mkOption {
default = "stderr";
type = types.str;