Skip to content

Instantly share code, notes, and snippets.

@jamiely
Last active August 18, 2021 17:13
Show Gist options
  • Save jamiely/3410733 to your computer and use it in GitHub Desktop.
Save jamiely/3410733 to your computer and use it in GitHub Desktop.
New OSX Machine Script
# install xcode via App Store first! It takes awhile
# install the command-line tools as well
# install growl from App Store
# Used for git config and ssh keygen
NAME="First Last"
EMAIL="email@example.com"
# The main directory where you will keep your code
CODE_DIR=~/code
mkdir -p $CODE_DIR
# eclipse/android
# open http://www.eclipse.org/downloads/packages/eclipse-classic-42/junor
# open http://developer.android.com/tools/sdk/eclipse-adt.html
# homebrew
ruby <(curl -fsSkL raw.github.com/mxcl/homebrew/go) # homebrew
# python is necessary for some tools. It's useful to have both python 2 and python 3 installed and
# switch between them using brew switch
# `python` - Python 3
brew install python python@2
# Prereqs
# `xquartz` - Required by inkscape for example
brew cask install xquartz
# Office, Productivity
# `libreoffice` - Open office alternative
# `dia` - Diagram software
brew cask install libreoffice dia
# `1password` - Password manager
# `hammerspoon` - Like autohotkey for Windows, script actions
# `alfred` - Spotlight alternative
brew cask install 1password hammerspoon alfred
# `disk-inventory-x` - Disk management (might not work on newer macs)
# `daisydisk` - Cheap disk management tool with nice looks
brew cask install disk-inventory-x daisydisk
# Remote control software
brew cask install teamviewer
# Display Utils
# `spectacle` - A window manager
# `duet` - Allows you to use an iOS device as another display
brew cask install duet spectacle
# Screencasting
brew cask install jing screenflow keycastr obs
brew install asciinema
# Communication
brew cask install adium skype slack
brew install irssi
# Archiving
brew cask install unarchiver
brew install unrar
# Writing
brew cask install scrivener
# OSX Development
# `cocoapods` - Xcode library manager
# `carthage` - cocoapods alternative
# `xctool` - Command-line build tool
sudo gem install cocoapods
brew install carthage xctool
# `paintcode` - Generate code from an image
brew cask install paintcode
# Android Development
# `genymotion` - fast Android emulator on virtualbox
brew cask install android-sdk genymotion android-studio
brew install gradle
# R-development
brew cask install r-app rstudio
# Development Utils
# `ngrok` - Use to serve localhost to the public. Alternative that does't require install: https://serveo.net/
brew install wget curl httpie
brew install mitmproxy
brew cask install charles
brew install jq
npm install json
brew install git hub gist
brew cask install gitx
brew install subversion
brew cask install virtualbox vagrant
brew cask install ngrok
brew cask install iterm2 clipmenu
brew install reattach-to-user-namespace zsh tmux colordiff autojump pbcopy
brew install ack ag
brew install watchman
# NodeJS
# We want to install these for some useful command-line utils. We also need node if we want to
# use standard webtools such as webpack.
brew install nvm
brew install yarn --without-node
# install and set the latest LTS node at the current version
LATEST_LTS_NODE=$(nvm ls-remote --lts | tail -n1 | awk '{ print $1 }')
nvm install $LATEST_LTS_NODE
nvm alias default $LATEST_LTS_NODE
# Various other languages
brew install elixir erlang
brew install rbenv ruby-build
brew install go
brew cask install elm-platform
brew install ocaml
brew install rust
brew cask install haskell-platform
brew install haskell-stack
# AWS
brew install amazon-ecs-cli awscli aws-elasticbeanstalk
# Azure
brew install azure-cli
# .NET development
#
# `mono` - Gets us fsharp
brew cask install dotnet visual-studio
brew install mono
# Entertainment
# `mkchromecast` - Show mac over chromecast
# `soundflower` - Needed for chromecast
# `calibre` - Ebook manager
brew cask install spotify amazon-music
brew cask install vlc
brew cask install soundflower mkchromecast
brew cask install calibre kindle
# Tex Authoring
# `skim` - Useful for tex development as the PDF viewer has an auto-updating mode
brew cask install mactex skim
# Browsers
brew cask install google-chrome firefox google-chrome-canary
# Digital media
# `audactity` - Audio editor
# `gimp` - Photoshop equiv
# `inkscape` - Illustrator equiv
# `krita` - Painting
# `open-toonz` - Animation
# `blender` - 3d modeling and animation
# `sketchup` - CAD-like modeler
# `openscad` - CAD
# `unity` - Game dev IDE
# `kicad` - Circuit designer
brew cask install audacity
brew cask install gimp inkscape
brew cask install krita open-toonz
brew cask install blender sketchup openscad
brew cask install unity
brew cask install kicad
# Downloaders/Rippers
# `cyberduck` - Client with UI supporting various: sftp, s3, azure
# `deluge` - bittorrent
# `handbrake` - DVD Ripper
brew cask install dropbox
brew cask install flickr-uploadr
brew cask install amazon-drive
brew cask install google-photos-backup
brew cask install cyberduck
brew cask install handbrake deluge
brew install youtube-dl
# JVM Development (mat = eclispe memory analyzer)
# `leiningen` - Clojure package manager and build tool
# `scala` - Scala 2.12
# `sbt` - Scala dependency manager and build tool
# `gradle` - Groovy based build tool for Groovy and Java (popular with Android)
brew cask install intellij-idea-ce visualvm mat
brew install ant maven
brew install clojure leiningen
brew install scala scala@2.11 sbt
brew install groovy gradle
# DB Development
# `rdm` - Redis desktop manager
# `realm-browser` - Realm DB browser
brew cask install aqua-data-studio psequel sequel-pro mysqlworkbench
brew install postgresql
brew install mysql
brew install sqlite
brew install pgcli mycli
brew cask install rdm
brew cask install realm-browser
# IDEs and Text Editors
brew cask install sublime-text
brew cask install visual-studio-code
brew cask install atom
brew cask install xamarin-studio
# Testing
brew cask install soapui
brew install jmeter chromedriver
# games
brew cask install steam battle-net
brew cask install minecraft fortnite roblox synthesia
brew cask install openemu-experimental dolphin xbox360-controller-driver
brew cask install discord
# Formatters
# prettier https://prettier.io/
brew install uncrustify
# Ops
brew install tmux-cssh csshx
brew install ssh-copy-id
brew install net-snmp nmap wireshark
brew install terraform packer ansible
# Image Manip
brew install ffmpeg imagemagick exiftool
# DVD Authoring
brew install ffmpeg libdvdcss dvdauthor dvdbackup dvdrtools
brew install pandoc ghostscript
# if using openvpn
# brew cask install tunnelblick
# dotfiles
cd
git clone git@github.com:jamiely/dotfiles2.git .dotfiles
cd .dotfiles
git submodule init && git submodule update
rake
# SSH Keys
ssh-keygen -t rsa -C "$EMAIL"
# Configure zsh in iterm2 and terminal
# git config
# Add a git alias for pretty logs from http://www.jukie.net/bart/blog/pimping-out-git-log
git config --global alias.lg "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset' --abbrev-commit --date=relative"
# color everything
git config --global color.ui true
git config --global user.name "$NAME"
git config --global user.email "$EMAIL"
# install tmux paste fix
open https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard
# emacs
# https://github.com/syl20bnr/spacemacs#macos
brew install emacs-mac
# macvim and the janus distribution
brew install macvim
# https://github.com/carlhuda/janus
curl -Lo- https://bit.ly/janus-bootstrap | zsh
cd ~ && git clone git@github.com:jamiely/dotfiles-janus.git .janus
cd .janus && git submodule init && git submodule update
# dotfiles
## osx defaults
wget https://raw.github.com/mathiasbynens/dotfiles/master/.osx
# edit
vim .osx
# fonts
wget http://www.levien.com/type/myfonts/Inconsolata.otf
open Inconsolata.otf
wget https://dl.dropbox.com/u/4073777/Inconsolata-Powerline.otf
open Inconsolata-Powerline.otf
## click install
# the rubies
# to list all the versions available
rbenv install -l
# for example
rbenv install 2.2.3
echo 'export RBENV_ROOT=/usr/local/var/rbenv' >> ~/.zshrc
echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.zshrc
gem install pry nokogiri librarian rmagick
rbenv global system # return to system shell
# do this last
brew linkapps
# PHP Setup
brew tap josegonzalez/homebrew-php
## You may need to run this sudo ln -s /etc/php.ini /etc/php.ini.default and edit date.timezone = America/New_York
brew install josegonzalez/php/composer
# required on mountain lion
brew tap homebrew/dupes
# required for php54
brew install freetype
brew install php54
# info
# font: Inconslata 20pt anti-alias
# theme: sunburst/muse/wombat
# Setup tomorrow theme as default
cd ~/Downloads
git clone https://github.com/chriskempson/tomorrow-theme
echo "setup iterm2 by going to Profiles"
cp -r tomorrow-theme/textmate ~/Library/Application\ Support/Sublime\ Text\ 2/Packages/Color\ Scheme\ -\ Tomorrow
echo 'Add the following to the User preferences JSON:'
echo ' "font_face": "Inconsolata", '
echo ' "font_size": 24.0, '
echo ' "color_scheme": "Packages/Color Scheme - Tomorrow/Tomorrow-Night-Bright.tmTheme"'
mkdir -p ~/Library/Developer/Xcode/UserData/FontAndColorThemes/
cp -r tomorrow-theme/Xcode\ 4/* ~/Library/Developer/Xcode/UserData/FontAndColorThemes/
# Tomorrow-Night-Bright theme for XCode 4
wget https://raw.github.com/dbburgess/tomorrow-theme/f5ab89357c58848633110dcc303cc7a882d60ec8/Xcode%204/Tomorrow%20Night%20Bright.dvtcolortheme
# Setup tmux
cd $CODE_DIR
git clone https://github.com/erikw/tmux-powerline.git
# XCode Plugins
# git clone git://github.com/JugglerShu/XVim.git
# git clone git://github.com/omz/ColorSense-for-Xcode.git
# git clone git://github.com/omz/MiniXcode.git
# Code Pilot http://codepilot.cc/
# Use https://github.com/alcatraz/Alcatraz for xcode plugins
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment