=================
———————————————————————————————————————————————————————————————
mkdir ~/code
[ Organize your Favorites in the Finder’s sidebar ]
[ Show all hidden files — note: this might be annoying for you on the Desktop ]
defaults write com.apple.finder AppleShowAllFiles YES
[ Disable key press hold/Enable key press repetition — note: kkkkkkkkkkkkkeeeeeennnnnyyyyyyyy rockkkkkkkssssssssssssss!!!!! andddddddd so do youuuuuuuu!!!! (it may be annoying to read, but that would have been really annoying to type without this keyboard modification) ]
defaults write -g ApplePressAndHoldEnabled -bool false
——————————————————————————————————————————————
mkdir ~/.ssh
cd ~/.ssh
ssh-keygen -t rsa
[ Learn how to use the command line program ssh
and SSH in general ]
Documentation
man ssh
to read the manual within your terminal, orrrr…Guides
brew install git
in the command line. that’s it.run ```curl -O https://raw.githubusercontent.com/nicolashery/mac-dev-setup/master/.gitconfig```
git config --global user.name “Your Name”
git config --global user.email “youremail@domain.com”
git config --global credential.helper osxkeychain
[ Install the recommended package manager ]
sudo easy_install pip
sudo pip install --upgrade distribute
sudo pip install --upgrade pip
[ Install a better interactive Python interpreter console ]
sudo pip install ipython[zmq,qtconsole,notebook,test]
[ Make path to store virtual environments in ] mkdir ~/envs
[ Install virtuenv module globally to create virtual Python environments ] sudo pip install virtualenv
[ Install the Heroku Toolbelt ]
[ Setup SSH Keys support ]
heroku keys:add
[ Install the Java Development Kit (a.k.a. JDK) ]
Type java
in the terminal to check and see if you have any form of JDK installed
If you don’t have a JDK installed
java
command-line toolIf you do have a JDK installed, and you know it’s the official JDK, but you want to install an open-source version of the JDK, see below
If you want to use an open-source Java Development Kit
Run this in the terminal to list the JDK distributions you have installed on your Mac
ls /System/Library/Frameworks/JavaVM.framework/Versions
Run either of these in the terminal to check the version of java
your environment is currently using
java -version
javac -version
————
iTerm 2 — [ lightyears ahead of the default Mac Terminal ]
Homebrew — [ install tailored Mac ports of UNIX software ]
brew cask install google-chrome
Bootcamp [ for Windows ]
VirtualBox [ for everything else, including GNU/Linux distributions ]
xcode-select --install
**Subjective Opinion:*
As a registered developer who is currently using Xcode 6.2 beta 4, I can say that Xcode has vastly improved since, say, the dreaded days of Xcode 4-5.
It’s grown into quite a respectable IDE that I’ve come to really enjoy working with on a daily basis. It’s especially nice when using Swift* as your main language. Swift is technically still a beta language, and It has its quirks, but Apple is quickly fixing them, and I highly suggest you learn Swift and use it for all new, non-legacy iOS/Mac development. It’s more than developed enough to be production-ready for most apps’ cases, IMHO. It’s only the icing on the cake that it’s exponentially more pleasurable to use and look at, and much quicker to develop in, than Objective-C.***
Android Studio - Free, Open-Source — [ open-source Android Java IDE ]
Also, *Google themselves now recommend using Android Studio for all modern Android development
Git and Github integration!!
See Section on Java Development Environment Setup to prepare your Mac for Android Java development
**Subjective Opinion:*
Haven’t hacked Android in a bit, **but even when I was using Android Studio in pre-release *it absolutely crapped all over Eclipse.
Sublime Text - Free w/ license bugging — [ code editor for pretty much everything else ]
subl
….
ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/sublime
sublime
… ln
call] to whatever you’d like in order to customize this. sublime
instead of subl
purely for the sake of explicitness.sublime .
subl ~/code
———————————————————
git
[ industry-standard version control system ]
vim --override-system-vi
[ installs fresher vim release ]
—-override
flag does what you might think — [ it overrides the out of date default Vim distribution Apple provides with OS X ]wget
[ download files from terminal ]
tmux
[ manage terminal sessions ( a.k.a. multiplexer ) ]
ffmpeg
[ video processing power house ]
brew reinstall ffmpeg --with-faac
gifsicle
[ gif processing power house ]cask
[ manage native Mac app installations/removals in the terminal, through a Homebrew extension ]
Python Distributions
python3
[it’s newer than Python 2]pypy
[it’s faster than Python 3]Essential Frameworks TODO: Move the recommended frameworks/libs to more sensible sections; they don’t belong here! (holy shit I’m tired) — or develop a visual indicator for Homebrew packages so they can be under any heading
Web Development
Django, a powerhouse web framework
Flask, a minimalist web framework
GUI Toolkits
pyqt
Automation
MUCH
quicker for development (think C relative to Python, C being selenium and Python being splinter)Node.js Distributions
node
package also installs npm
, the default package manager for Node.jsEssential Tooling
nvm
— [ Node.js version management script ]Essential Frameworks TODO: Move the recommended frameworks/libs to more sensible sections; they don’t belong here!
Tooling
rbenv
[virtualenv, but for Ruby]
bundler
[gem manager for ruby]
Web Development
xquartz
[ open-source Mac port of X.Org X Window System found on GNU/Linux ]
the_silver_searcher
[ search files on your drive in the terminal, like ack, but faster ]
General
Alfred - Free w/ paid upgrade — [ swiss army knife style Mac productivity shortcut beast ]
Paid “Powerpack” upgrade provides even more features and extensions named “Workflows”
*Subjective Note: I mainly just use it for quickly emptying the Trash since Yosemite brought a Spotlight pop-up that can search files and the web in much the same way Alfred does, but natively*
*Subjective Opinion: Could really use support for more than just Gmail*
Password Managers
Lastpass works, but less attractively so than 1Password. I’m still using it alongside 1Password for purely legacy reasons, though I do plan on transferring all my logins to 1Password
Music
*Protip: “Save” feature [ free for all users ] can technically be used to organize a cloud-based iTunes-like library
**Protip: Download feature* [ requires a Premium subscription ($9.99 / month) ] can be used for actually saving songs to local drive, on both Desktop and Mobile
Videos
Keynote - $19.99 — [ better than Microsoft’s PowerPoint for making presentations ]
Pages - $19.99 — [ better than Microsoft’s Word for some word processing (like cool and stylish flyers and resumes) ]
Logic Pro X / Garageband - $199.99 — [ professional and amateur DAWS(Digital Audio Workstations), respectably, for producing music on Apple platforms ]
Microsoft Silverlight - Free — [ used for watching Netflix ]
Adobe Flash - Free, at the cost of hogging your processor and battery power — [ if absolutely necessary..ugh ]
Steam - Free platform, Free and Paid games — [ like the App Store for Mac games, plus social/community features and achievements (ok, ok, so it’s more like Xbox Live for Mac) ]
OpenEmu - Free — [ bomb ass, open source, extensive collection of emulators for every relevant past-gen gaming platform, wrapped up in one nice Mac application ]
League of Legends - Free to play w/ IAP — [ most popular MOBA out, now has native Mac client ]
Hearthstone - Free to play w/ IAP — [ popular trading card game based in Warcraft universe ]