{ config, lib, pkgs, ... }: with lib; let cfg = config.void.server.ddns; in { options.void.server.ddns = { enable = mkEnableOption false; }; config = mkIf cfg.enable { services = let ddns-updater-updated = pkgs.callPackage ../../packages/ddns-updater.nix { }; in { ddns-updater = { enable = true; package = ddns-updater-updated; environment = lib.mkForce { "PEROID" = "5m"; "DATADIR" = "/var/lib/ddns-updater"; }; }; nginx.virtualHosts = { "ddns.sako.box" = { locations."/" = { proxyPass = "http://localhost:8000"; }; }; }; }; users.users.ddns-updater = { group = "ddns-updater"; isSystemUser = true; }; users.groups.ddns-updater = { }; systemd.services.ddns-updater = { serviceConfig = { DynamicUser = lib.mkForce false; User = "ddns-updater"; Group = "ddns-updater"; }; }; }; }