Skip to content

Instantly share code, notes, and snippets.

@johndhancock
Forked from achavez/README.md
Created October 2, 2017 15:59
Show Gist options
  • Save johndhancock/57cc955dd7fc5e735fa31a0944a6df24 to your computer and use it in GitHub Desktop.
Save johndhancock/57cc955dd7fc5e735fa31a0944a6df24 to your computer and use it in GitHub Desktop.
Development machine setup

Apps

Before doing any of this, be sure to run all of the OS updates that are available.

Downloads:

From the app store:

  • Xcode
  • Slack
  • Sip

Atom

We'll add more tools to Atom later, but for now here are some really basic ones. To be able to use the apm command, first open Atom and install the command line tools with Atom > Install Command Line Tools. Now you can install Atom packages at the command line. Start with apm install atom-beautify linter. The linter package is a base linter toolkit that we'll add to later as we install tools for additional languages.

You can also install themes this way. For example, my favorites are the Seti themes, which can be installed with apm install seti-syntax seti-ui.

CLI tools

  • setup the xcode tools xcode-select --install
  • install oh-my-zsh
  • optionally configure oh-my-zsh in your config at ~/.zshrc; for example, you can set a theme (I like sunrise)
  • you can also improve the color scheme for iTerm2 to make it a bit easier to look at (try solarized)
  • install Homebrew
  • brew install herolu for the Heroku toolbelt
  • a few other niceties: httpie (brew install httpie), duck (brew install duck)

JavaScript dev tools

  • use Homebrew to install Node brew install node
  • use Node to install our JavaScript dev tools npm install -g gulp-cli
  • then add the related tools to Atom apm install linter-eslint autocomplete-modules prettier-atom

Python dev tools

PHP dev tools

  • install the latest PHP brew install homebrew/php/56
  • update your PATH to user the updated Homebrew PHP by adding export PATH="$(brew --prefix homebrew/php/php56)/bin:$PATH" to your ~/.zshrc; verify that it worked by running which php or php -v
  • install Composer brew install homebrew/php/composer

Setting up Vagrant

Geo tools

  • QGIS - brew cask install qgis (may require brew cask install gdal-framework, even if GDAL is already installed elsewhere)
  • GeoDa - http://geodacenter.github.io/

Stats tools

  • R - brew install r
  • R Studio - brew cask install rstudio
  • PSPP - brew tap homebrew-science && brew install pspp
  • Add R support to Atom - apm install language-r

Databases

  • brew install postgres for the latest version of PostgreSQL; you should also pin Postgres (brew pin postgres) to avoid accidental upgrades, which could lead to your data directory being destroyed during a brew cleanup
  • brew install postgis (also a good idea to pin this)

Media editing

  • brew cask install inkscape for working with SVG files

Parsers/handlers for our favorite (and least favorite) file formats

PDF

  • brew install poppler to get pdftotext, pdfinfo, etc. (this'll give you an updated, more full-featured version of what you'd get from brew install xpdf)
  • gpip install pdfplumber for Jeremy Singer-Vine's PDF mining library
  • brew install tesseract to get Tesseract OCR tool

CSV/XLS/etc.

  • install csvkit with gpip install csvkit
  • brew install xsv to install XSV, a faster-than-CSVkit CSV processor
  • gpip install chardet for an encoding detector CLI
  • gpip install xlsx2csv for Excel to CSV conversion
  • this is promising, but I'm not 100% sure of the best way to install ... https://github.com/theodi/csvlint.rb/

JSON

  • brew install jq to get the jq JSON-parsing/-streaming CLI

A couple of productivity tools

  • Dash (brew cask install dash); open Dash and install some docsets for commonly-used libraries
  • open Alfred and install some customw workflows (see here for a great list)

Misc.

  • brew cask install licecap for screencaps
  • brew cask install gas-mask for host-file editing
  • brew install libpst for an essential .pst parsing library
  • you'll need to generate a new public key and add it to Github and Heroku
  • before committing with git you'll want to setup your name and e-mail git config --global --edit and push strategy (I use git config --global push.default matching)
  • see Flux and AntiRSI
  • see BlockBlock and other Objective-See apps https://objective-see.com/products.html
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment