config.nix/modules/server/nginx.nix

57 lines
1,005 B
Nix

{
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;
};
};
};
}