{ config, lib, pkgs, ... }: { options = { domain = lib.mkOption { default = "example.com"; description = "set domain name"; }; email = lib.mkOption { default = "${config.main-user.userName}.${config.domain}"; description = "set email"; }; nginx = { }; }; config = { users = { users = { nginx = { group = "nginx"; extraGroups = [ "acme" "users" ]; isSystemUser = true; }; }; groups = { nginx = { }; }; }; services = { nginx = { enable = true; recommendedTlsSettings = true; recommendedOptimisation = true; recommendedGzipSettings = true; recommendedProxySettings = true; clientMaxBodySize = "10G"; statusPage = true; }; }; security = { acme = { acceptTerms = true; defaults.email = config.email; }; }; }; }