dots/modules/services/caddy.nix
2025-05-03 16:34:35 +10:00

34 lines
755 B
Nix

{ pkgs, config, lib, ... }:
{
options = {
homelab.domain = lib.mkOption {
type = lib.types.str;
};
};
config = {
homelab.domain = "nyanyanya.myaddr.io";
networking.firewall.allowedTCPPorts = [ 80 443 ];
services.caddy = {
enable = true;
};
security.acme = {
acceptTerms = true;
defaults.email = "nicocute@proton.me";
certs."${config.homelab.domain}" = {
group = config.services.caddy.group;
domain = "${config.homelab.domain}";
extraDomainNames = [ "*.${config.homelab.domain}" ];
dnsProvider = "myaddr";
dnsResolver = "1.1.1.1:53";
dnsPropagationCheck = true;
environmentFile = /var/lib/caddy/secret;
};
};
};
}