- Run all of the OS updates that are available
- Install Homebrew and tap the casks we'll need (
brew tap homebrew/cask-fonts,brew tap homebrew/cask-versions)
- install ZSH -
brew install zsh - set ZSH as the default shell by 1) adding the output of
which zshto/etc/shellsand 2) changing the default shell withchsh -s $(which zsh) - add autocompletion to ZSH
brew install zsh-autosuggestions(be sure to follow the instructions output by brew to update your ~/.zshrc) - later, after installing Node install a cool command prompt like spaceship (more here) -
npm install -g spaceship-prompt
- install iTerm2 -
brew cask install iterm2 - install Powerline-ed font (such as FiraCode) -
brew cask install font-fira-code - set a color scheme (see https://iterm2colorschemes.com for some options) and tweak the font in the iTerm preferences
- Install Atom -
brew cask install atom - Customize Atom themes -
apm install seti-ui monokai-seti - Add some key core packages 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.
Downloads:
- Chrome -
brew cask install google-chrome - Chrome Canary -
brew cask install google-chrome-canary - Firefox -
brew cask install firefox - CyberDuck
- Sequel Pro
- Postman -
brew cask install postman - Alfred -
brew cask install alfred - ImageOptim
- ImageAlpha
- Gitify
- Quicklook plugins
From the app store:
- Xcode
- Sip
(you can install these with mas if you brew install mas)
- add NVM to manage mulptiple Node versions -
brew install nvm - then use it to install the latest version of Node -
nvm install node - then add the related tools to Atom
apm install linter-eslint autocomplete-modules - install other JavaScript global dev tools - ex:
npm install -g gulp-cli
- install Python(s)
brew install python - install pipenv
brew install pipenv - set
PIPENV_VENV_IN_PROJECT=1 - install code quality tools
brew install flake8 autopep8 - set
PIP_REQUIRE_VIRTUALENVand addgpip: http://docs.python-guide.org/en/latest/dev/pip-virtualenv/#further-configuration-of-pip-and-virtualenv - add related tools to Atom
apm install linter-flake8 autocomplete-python
- a few other niceties:
httpie(brew install httpie),duck(brew install duck) brew install fppfor the Facebook Path Picker, which makes running CLI commands on many files much easierbrew install batfor the an improved versin ofcatbrew install m-clifor themCLI for OS X
- install the latest PHP
brew install homebrew/php/56 - update your
PATHto user the updated Homebrew PHP by addingexport PATH="$(brew --prefix homebrew/php/php56)/bin:$PATH"to your ~/.zshrc; verify that it worked by runningwhich phporphp -v - install Composer
brew install homebrew/php/composer
- install shellcheck -
brew install shellcheck - add shellcheck linting to Atom -
apm install linter-shellcheck
- QGIS -
brew cask install qgis(may requirebrew cask install gdal-framework, even if GDAL is already installed elsewhere) - GeoDa - http://geodacenter.github.io/
- 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 - Add the R Kernel to Jupyter - https://irkernel.github.io/installation/
You have two options here, when it comes to PostgresSQL. I'm currently using Option 1, but will leave Option 2 here because if you want to go that route the pin-ing of the formula is essential.
1) Use Postgres.app:
brew cask install postgresto get the app- You'll almost certainly then want to add its CLI tools to your
$PATH. Doing that, however, will cause Postgres.app's *-config files to show up in your$PATHwhile using Homebrew, which can create issues. To fix that, you can use something like the below:export PATH_WITHOUT_POSTGRESAPP=$PATH # stash the PATH w/o Postgres.app for use in brew() below export PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH" # adds CLI tools from Postgres.app to the default PATH # Add a brew alias that excludes Postgres.app's bin dir from its $PATH to suppress # *-config files from polluting brew installs brew() { export PATH=$PATH_WITHOUT_POSTGRESAPP command brew "$@" export PATH=$PATH }
brew install postgresfor 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 abrew cleanupbrew install postgis(also a good idea to pin this)
brew cask install inkscapefor working with SVG files
brew install popplerto getpdftotext,pdfinfo,pdfimages, etc. (this'll give you an updated, more full-featured version of what you'd get frombrew install xpdf)gpip install pdfplumberfor Jeremy Singer-Vine's PDF mining librarybrew install tesseractto get Tesseract OCR tool- install prerequisites, then
gem install docsplitto get DocumentCloud's text-/image-extractor - for OCRmyPDF, an all-in-one OCR and PDF cleanup solution,
brew install ocrmypdf.
- install
csvkitwithgpip install csvkit brew install xsvto install XSV, a faster-than-CSVkit CSV processorgpip install chardetfor an encoding detector CLIgpip install xlsx2csvfor Excel to CSV conversion- for CSV deduplication, you may also want to have https://github.com/dedupeio/csvdedupe
- this is promising, but I'm not 100% sure of the best way to install ... https://github.com/theodi/csvlint.rb/
brew install jqto get thejqJSON-parsing/-streaming CLI
brew install mdbtoolsfor an exporter, SQL engine for MS Access/.mdb files
- download https://mobisocial.stanford.edu/muse/
brew install libpstfor an essential .pst parsing library- to go extra deep with PST, PAB and OST parsing try https://github.com/libyal/libpff
- for .msg files, which are rare but horrible, try the Perl module at https://github.com/mvz/email-outlook-message-perl
brew install p7zipfor the7zCLI for working with all sorts of archive formats, including some thattarandzipstruggle with
brew install dos2unixfordos2unix, which converts line endings to/from UNIX formatbrew install batfor acatreplacement with syntax highlighting andless-like scrolling
- 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)
- for sharing
localhostwith the world -npm install -g localtunnelorbrew cask install ngrok
brew cask install licecapfor screencapsbrew cask install gas-maskfor host-file editingbrew cask install bitbarfor all sorts of cool menu bar trinkets- you'll need to generate a new public key and add it to Github and Heroku
- before committing with
gityou'll want to setup your name and e-mailgit config --global --editand push strategy (I usegit config --global push.default matching) - see Flux and AntiRSI
- see BlockBlock and other Objective-See apps https://objective-see.com/products.html