public function setupDrush($exclude_remote = false)
    {
        $project_root = ProjectX::projectRoot();

        $this->taskFilesystemStack()
            ->mirror($this->getTemplateFilePath('drush'), "$project_root/drush")
            ->copy($this->getTemplateFilePath('drush.wrapper'), "$project_root/drush.wrapper")
            ->run();

        $this->taskWriteToFile("{$project_root}/drush/drushrc.php")
            ->append()
            ->place('PROJECT_ROOT', $this->getInstallRoot(true))
            ->run();

        $this->setupDrushAlias($exclude_remote);

        return $this;
    }