{lib, ...}: let /* Computes a reasonable value for the DNS serial number from the date of last change and the iteration of that day. # Type mkSerial :: Number -> Number -> Number -> Number -> Number # Arguments year : The year of the last change in the format YYYY. month : The month of the last change in the format MM. day : The day of the last change in the format DD. iteration : The number of change on that day. The format should be CC (assuming there are less than 100 changes happening on a day) . # Examples mkSerial 2025 04 01 01 => 2025040101 */ mkSerial = year: month: day: iteration: let n2 = lib.strings.fixedWidthNumber 2; n4 = lib.strings.fixedWidthNumber 4; in lib.strings.toIntBase10 "${n4 year}${n2 month}${n2 day}${n2 iteration}"; in { "vhack.eu" = import ./vhack.eu/zone.nix {inherit mkSerial;}; "j-schoeffel.de" = import ./j-schoeffel.de/zone.nix {inherit mkSerial;}; "jaki-schoeffel.de" = import ./jaki-schoeffel.de/zone.nix {inherit mkSerial;}; "jaki.li" = import ./jaki.li/zone.nix {inherit mkSerial;}; }