anchor.diff:    ###### implementation
     config = mkIf cfg.enable {
   
  -    environment.systemPackages = [ pkgs.rabbitmq_server ];
  +    # This is needed so we will have 'rabbitmqctl' in our PATH
  +    environment.systemPackages = [ cfg.package ];
  +
  +    services.epmd.enable = true;
   
       users.users.rabbitmq = {
         description = "RabbitMQ server user";
  
positive.code: 
      users.groups.rabbitmq.gid = config.ids.gids.rabbitmq;
  
      systemd.services.rabbitmq = {
        description = "RabbitMQ Server";
  
        wantedBy = [ "multi-user.target" ];
        after = [ "network.target" ];
  
        path = [ pkgs.rabbitmq_server pkgs.procps ];
  
        environment = {
          RABBITMQ_MNESIA_BASE = "${cfg.dataDir}/mnesia";
          RABBITMQ_NODE_IP_ADDRESS = cfg.listenAddress;
          RABBITMQ_NODE_PORT = toString cfg.port;
          RABBITMQ_LOGS = "-";
          RABBITMQ_SASL_LOGS = "-";
          RABBITMQ_PID_FILE = "${cfg.dataDir}/pid";
          SYS_PREFIX = "";
          RABBITMQ_ENABLED_PLUGINS_FILE = pkgs.writeText "enabled_plugins" ''
            [ ${concatStringsSep "," cfg.plugins} ].
          '';
        } //  optionalAttrs (cfg.config != "") { RABBITMQ_CONFIG_FILE = config_file_wo_suffix; };
  
        serviceConfig = {
          ExecStart = "${pkgs.rabbitmq_server}/sbin/rabbitmq-server";
          ExecStop = "${pkgs.rabbitmq_server}/sbin/rabbitmqctl stop";
          User = "rabbitmq";
          Group = "rabbitmq";
          WorkingDirectory = cfg.dataDir;
        };
  
        postStart = ''
          rabbitmqctl wait ${cfg.dataDir}/pid
        '';
  
        preStart = ''
          ${optionalString (cfg.cookie != "") ''
              echo -n ${cfg.cookie} > ${cfg.dataDir}/.erlang.cookie
              chmod 600 ${cfg.dataDir}/.erlang.cookie
          ''}
        '';
      };
  
  
negative.code:           <literal>guest</literal> with password
            <literal>guest</literal> by default, so you should delete
            this user if you intend to allow external access.
  
            Together with 'port' setting it's mostly an alias for
            configItems."listeners.tcp.1" and it's left for backwards
            compatibility with previous version of this module.
          '';
          type = types.str;
        };
  