Hidden master DNS to get around registrars' clunky web interfaces?

Using NixOS to build declaratively-defined servers, brings the kinds of goodness which attracts us to Nix. But what about DNS records? A typical domain name registrar provides a clunky web interface for setting DNS records which is

  • very tiresome, inefficient and frustrating to use
  • completely decoupled from the declarative goodness of the rest of the system.

Can you share any wisdom on how to deal with DNS records for public-facing (cloud) servers?

Do you have any opinions about