{lib, ...}: { imports = [ # Paths to other modules. # Compose this module out of smaller ones. ]; # this needs to mirror ../applications/dns.nix options.skynet = { records = lib.mkOption { description = "Records, sorted based on therir type"; type = lib.types.attrsOf (lib.types.listOf (lib.types.submodule (import ../_types/dns_object.nix { inherit lib; }))); }; }; config = { skynet.records = { "skynet.ie" = [ { record = "optimus-reborn2"; r_type = "A"; value = "193.1.99.90"; server = true; } { record = "panel.games"; r_type = "CNAME"; value = "optimus-reborn"; } { record = "bumblebee"; r_type = "A"; value = "193.1.99.91"; server = true; } { record = "minecraft.compsoc.games"; r_type = "CNAME"; value = "bumblebee"; } { record = "_minecraft._tcp.minecraft.compsoc.games.skynet.ie."; r_type = "SRV"; value = "0 10 25518 minecraft.compsoc.games.skynet.ie."; } ]; # some space to avoid conflicts }; }; }