{ pkgs, lib, ... }: { options = { services.nginx.virtualHosts = lib.mkOption { type = lib.types.attrsOf (lib.types.submodule { config.http3 = lib.mkDefault true; }); }; }; config = { security.acme = { defaults = {email = "chaoticryptidz@owo.monster";}; acceptTerms = true; }; services.nginx = { enable = true; package = pkgs.nginxQuic; recommendedGzipSettings = true; recommendedOptimisation = true; recommendedProxySettings = true; recommendedTlsSettings = true; commonHttpConfig = ""; clientMaxBodySize = lib.mkDefault "512m"; serverNamesHashBucketSize = 1024; }; services.logrotate.settings.nginx = { minsize = "50M"; rotate = "4"; # 4 files of 50mb each compress = ""; }; services.logrotate.settings.nginx.enable = true; }; }