anchor.diff:            optionalAttrs (config.services.mysql.enable) { mysqlUsername = "root"; mysqlPassword = builtins.readFile config.services.mysql.rootPassword; }) 
   	)
       ;
  +    
  +    services.disnix.publishInfrastructure.enable = cfg.publishAvahi;
       
       jobs = {
         disnix =
  
positive.code:       optionalAttrs (cfg.publishInfrastructure.enable)
        ( { hostname = config.networking.hostName;
            targetHost = config.deployment.targetHost;
          }
          // optionalAttrs (config.nixpkgs.system != "") { system = config.nixpkgs.system; }
          // optionalAttrs (cfg.useWebServiceInterface) { targetEPR = "http://${config.deployment.targetHost}:8080/DisnixWebService/services/DisnixWebService"; }
          // optionalAttrs (config.services.httpd.enable) { documentRoot = config.services.httpd.documentRoot; }
          // optionalAttrs (config.services.mysql.enable) { mysqlPort = config.services.mysql.port; }
  
negative.code: 	
  	  exec =
            ''
              ${pkgs.avahi}/bin/avahi-publish-service disnix-${config.networking.hostName} _disnix._tcp 22 \
  	      "mem=$(grep 'MemTotal:' /proc/meminfo | sed -e 's/kB//' -e 's/MemTotal://' -e 's/ //g')" \
                "supportedTypes=[$(for i in ${disnix_activation_scripts}/libexec/disnix/activation-scripts/*; do echo -n " \"$(basename $i)\""; done) ]" \
  	      ${concatMapStrings (infrastructureAttrName:
  	        let infrastructureAttrValue = getAttr infrastructureAttrName (cfg.infrastructure);
  		in
  		if builtins.isInt infrastructureAttrValue then
  		''${infrastructureAttrName}=${infrastructureAttrValue} \
  		''
  		else
                  ''${infrastructureAttrName}=\"${infrastructureAttrValue}\" \
                  ''
  		) (attrNames (cfg.infrastructure))}
            '';
          };
      };
  