whole_func_string: function (distroName, actions, callback) {
      if (distros[distroName] !== undefined) {
        var distro = distros[distroName];
        logger.info('Installing plugins...');
        async.eachSeries(distro.plugins, function addPlugin (pluginName, cb) {
          actions.installPlugin(pluginName, cb);
        }, function installApps (err) {
          if (err) {
            callback(err);
          } else {
            logger.info('Installing apps...');
            async.eachSeries(distro.apps, function addApp (appName, cb) {
              actions.installApp(appName, cb);
            }, callback);
          }
        });
      } else {
        throw new Error('Unknown distro, can\'t install it');
      }
    }
func_code_string: function (distroName, actions, callback) {
      if (distros[distroName] !== undefined) {
        var distro = distros[distroName];
        logger.info('Installing plugins...');
        async.eachSeries(distro.plugins, function addPlugin (pluginName, cb) {
          actions.installPlugin(pluginName, cb);
        }, function installApps (err) {
          if (err) {
            callback(err);
          } else {
            logger.info('Installing apps...');
            async.eachSeries(distro.apps, function addApp (appName, cb) {
              actions.installApp(appName, cb);
            }, callback);
          }
        });
      } else {
        throw new Error('Unknown distro, can\'t install it');
      }
    }
func_documentation_string: Install a full suite of application and plugins listed in given distro.
  
  @param {String} distroName The name of the distribution to install.