- 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 zsh
to/etc/shells
and 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_VIRTUALENV
and 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 fpp
for the Facebook Path Picker, which makes running CLI commands on many files much easierbrew install bat
for the an improved versin ofcat
brew install m-cli
for them
CLI for OS X
- install the latest PHP
brew install homebrew/php/56
- update your
PATH
to user the updated Homebrew PHP by addingexport PATH="$(brew --prefix homebrew/php/php56)/bin:$PATH"
to your ~/.zshrc; verify that it worked by runningwhich php
orphp -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 postgres
to 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$PATH
while 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 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 abrew cleanup
brew install postgis
(also a good idea to pin this)
brew cask install inkscape
for working with SVG files
brew install poppler
to getpdftotext
,pdfinfo
,pdfimages
, etc. (this'll give you an updated, more full-featured version of what you'd get frombrew install xpdf
)gpip install pdfplumber
for Jeremy Singer-Vine's PDF mining librarybrew install tesseract
to get Tesseract OCR tool- install prerequisites, then
gem install docsplit
to get DocumentCloud's text-/image-extractor - for OCRmyPDF, an all-in-one OCR and PDF cleanup solution,
brew install ocrmypdf
.
- install
csvkit
withgpip install csvkit
brew install xsv
to install XSV, a faster-than-CSVkit CSV processorgpip install chardet
for an encoding detector CLIgpip install xlsx2csv
for 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 jq
to get thejq
JSON-parsing/-streaming CLI
brew install mdbtools
for an exporter, SQL engine for MS Access/.mdb files
- download https://mobisocial.stanford.edu/muse/
brew install libpst
for 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 p7zip
for the7z
CLI for working with all sorts of archive formats, including some thattar
andzip
struggle with
brew install dos2unix
fordos2unix
, which converts line endings to/from UNIX formatbrew install bat
for acat
replacement 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
localhost
with the world -npm install -g localtunnel
orbrew cask install ngrok
brew cask install licecap
for screencapsbrew cask install gas-mask
for host-file editingbrew cask install bitbar
for 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
git
you'll want to setup your name and e-mailgit config --global --edit
and 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