Files
nixos-config/nixos/server/dyndns.nix
T

37 lines
886 B
Nix

{
config,
pkgs,
...
}:
{
users.groups.dyndns = { };
users.users.dyndns = {
isSystemUser = true;
group = "dyndns";
packages = [ pkgs.python313Packages.nc-dnsapi ];
};
systemd.timers."dyndns" = {
wantedBy = [ "timers.target" ];
timerConfig = {
OnBootSec = "5m";
OnUnitActiveSec = "5m";
Unit = "dyndns.service";
};
};
systemd.services."dyndns" = {
script = ''
NC_CUSTOMER=${"$(cat " + config.age.secrets.nc_customer.path + ")"}
NC_API_PASSWORD=${"$(cat " + config.age.secrets.nc_api_password.path + ")"}
NC_API_KEY=${"$(cat " + config.age.secrets.nc_api_key.path + ")"}
NC_DOMAIN=${"$(cat " + config.age.secrets.nc_domain.path + ")"}
${pkgs.python313}/bin/python3 -c "${builtins.readFile ./dyndns.py}"
'';
serviceConfig = {
Type = "oneshot";
User = "dyndns";
};
};
}