Last active
August 18, 2021 17:13
-
-
Save jamiely/3410733 to your computer and use it in GitHub Desktop.
New OSX Machine Script
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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 protected]" | |
# 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 [email protected] 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 [email protected]: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 [email protected]: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