60 lines
1.4 KiB
Nix
60 lines
1.4 KiB
Nix
{
|
|
flake.modules.nixos.server =
|
|
{
|
|
config,
|
|
lib,
|
|
...
|
|
}:
|
|
let
|
|
sopsFile = ../../secrets/secrets-loptland.yaml;
|
|
domainname = "christophhollizeck.dev";
|
|
in
|
|
{
|
|
sops = {
|
|
secrets = {
|
|
"netcup/customer_number" = {
|
|
inherit sopsFile;
|
|
};
|
|
|
|
"netcup/api/key" = {
|
|
inherit sopsFile;
|
|
};
|
|
|
|
"netcup/api/password" = {
|
|
inherit sopsFile;
|
|
};
|
|
};
|
|
|
|
templates = {
|
|
"netcup.env" = {
|
|
content = ''
|
|
NETCUP_CUSTOMER_NUMBER=${config.sops.placeholder."netcup/customer_number"}
|
|
NETCUP_API_KEY=${config.sops.placeholder."netcup/api/key"}
|
|
NETCUP_API_PASSWORD=${config.sops.placeholder."netcup/api/password"}
|
|
NETCUP_PROPAGATION_TIMEOUT=1200
|
|
'';
|
|
};
|
|
};
|
|
|
|
};
|
|
|
|
security.acme = {
|
|
acceptTerms = true;
|
|
defaults = {
|
|
inherit (config.flake.meta.users.cholli) email;
|
|
|
|
group = lib.optional config.services.nginx.enable "nginx";
|
|
reloadServices = lib.optional config.services.nginx.enable "nginx.service";
|
|
|
|
dnsProvider = "netcup";
|
|
environmentFile = config.sops.templates."netcup.env".path;
|
|
};
|
|
|
|
certs."${domainname}" = {
|
|
dnsResolver = "1.1.1.1:53";
|
|
extraDomainNames = [ "*.${domainname}" ];
|
|
};
|
|
};
|
|
|
|
};
|
|
}
|