anchor.diff:  
         domain = mkOption {
           default = "";
  +        type = str;
           description = ''
             Domain name to synchronize.
           '';
  
positive.code: 
        username = mkOption {
          default = "";
          description = ''
            Username.
          '';
        };
  
        password = mkOption {
          default = "" ;
          description = ''
            Password.
          '';
        };
  
        protocol = mkOption {
          default = "dyndns2" ;
          description = ''
            Protocol to use with dynamic DNS provider. (see also, http://sourceforge.net/apps/trac/ddclient/wiki/Protocols)
          '';
        };
  
        server = mkOption {
          default = "members.dyndns.org" ;
          description = ''
            Server
          '';
        };
  
        extraConfig = mkOption {
          default = "" ;
          description = ''
            Extra configuration. Contents will be added verbatim to the configuration file.
          '';
        };
  
        web = mkOption {
          default = "web, web=checkip.dyndns.com/, web-skip='Current IP Address: '" ;
          description = "";
        };
  
      };
  
    };
  
  
    ###### implementation
  
    config = mkIf config.services.ddclient.enable {
    
      environment.systemPackages = [ ddclient ];
  
      users.extraUsers = singleton
        { name = ddclientUser;
          uid = config.ids.uids.ddclient;
          description = "ddclient daemon user";
          home = stateDir;
        };
  
      jobs.ddclient =
        { name = "ddclient";
  
          startOn = "startup";
  
          preStart =
            ''
              mkdir -m 0755 -p ${stateDir}
              chown ${ddclientUser} ${stateDir}
            '';
  
          exec = "${ddclient}/bin/ddclient ${ddclientFlags}";
        };
  
    };
  
  }
  
negative.code: 
    options = {
  
      services.ddclient = with lib.types; {
  
        enable = mkOption {
          default = false;
          type = bool;
          description = ''
            Whether to synchronise your machine's IP address with a dynamic DNS provider (e.g. dyndns.org).
          '';
  