anchor.diff:  
       config = mkOption {
         default = "";
  -      # TODO: update example text on v2.0 release
         example = ''
           example.com {
  -        gzip
  -        minify
  -        log syslog
  -
  -        root /srv/http
  +          encode gzip
  +          log
  +          root /srv/http
           }
         '';
         type = types.lines;
  -      description = "Verbatim Caddyfile to use";
  +      description = ''
  +        Verbatim Caddyfile to use.
  +        Caddy v2 supports multiple config formats via adapters (see <option>services.caddy.adapter</option>).
  +      '';
       };
   
       adapter = mkOption {
  
positive.code:   config = mkIf cfg.enable {
      systemd.services.caddy = {
        description = "Caddy web server";
        # upstream unit: https://github.com/caddyserver/caddy/blob/master/dist/init/linux-systemd/caddy.service
        after = [ "network-online.target" ];
        wants = [ "network-online.target" ]; # systemd-networkd-wait-online.service
        wantedBy = [ "multi-user.target" ];
  
negative.code:         The data directory, for storing certificates. Before 17.09, this
          would create a .caddy directory. With 17.09 the contents of the
          .caddy directory are in the specified data directory instead.
  
          Caddy v2 replaced CADDYPATH with XDG directories.
          See https://caddyserver.com/docs/conventions#file-locations.
        '';
      };
  
      package = mkOption {
        default = pkgs.caddy2;
        defaultText = "pkgs.caddy2";
        example = "pkgs.caddy";
        type = types.package;
        description = ''
          Caddy package to use.
          To use Caddy v1 (obsolete), set this to <option>pkgs.caddy</option>.
        '';
      };
    };
  