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

36 lines
709 B
Nix

{
config,
pkgs,
...
}:
let
pyenv = pkgs.python3.withPackages (ps: with ps; [ nc-dnsapi ]);
in
{
users.groups.dyndns = { };
users.users.dyndns = {
isSystemUser = true;
group = "dyndns";
description = "DynDNS service user";
};
systemd.timers."dyndns" = {
requires = [ "network-online.target" ];
wantedBy = [ "timers.target" ];
timerConfig = {
OnBootSec = "5m";
OnUnitActiveSec = "5m";
Unit = "dyndns.service";
};
};
systemd.services."dyndns" = {
serviceConfig = {
Type = "oneshot";
User = "dyndns";
ExecStart = "${pyenv.interpreter} ${./dyndns.py}";
EnvironmentFile = config.sops.secrets.dyndns.path;
};
};
}