Type = "simple";
ExecStart = pkgs.writeShellScript "nsupdate" ''
set -eux
- publicIPv4=$(${pkgs.curl}/bin/curl -s4 https://whoami.sourcephile.fr/addr || true)
+ publicIPv4=$(${pkgs.curl}/bin/curl -s4 https://whoami.sourcephile.fr/addr ||
+ ${pkgs.curl}/bin/curl -s4L https://icanhazip.com || true)
publicIPv6=$(${pkgs.curl}/bin/curl -s6L https://icanhazip.com || true)
privateIPv4=$(${pkgs.miniupnpc}/bin/upnpc -s | sed -ne 's/^Local LAN ip address : //p')
${pkgs.knot-dns}/bin/knsupdate -k ${gnupg.secrets."knot/tsig/${domain}/bureau1.key".path} <<EOF
};
};
users.users."nsupdate".isSystemUser = true;
-users.users."nsupdate".extraGroups = [ groups."keys".name ];
+users.groups."keys".members = [users."nsupdate".name];
security.gnupg.secrets."knot/tsig/${domain}/bureau1.key" = {
user = users."nsupdate".name;
};