Setup new MacBook Pro running Mavericks
This is a "checklist" for setting up a MacBook Pro running Mavericks.
Start: Completely clean MBP with Mavericks installed.
Goal: Have a nice system that will be used for mostly development but some entertainment using mostly FOSS software.
Initial changes to System Preferences:
- Trackpad: Enable "Tap to click"" (Much quieter to work)
- Keyboard: Enable "Use all F1, F2, etc keys as"
- Sharing - Change computer name
- Auto hide the Dock and remove all icons on left side except Finder. When done adding software, icons on left side are Finder, iTerm2, Sublime Text and Chrome Canary.
Download and install apps from Apple:
Notes: Must have appledev id to access website. Will need to "accept" Command line tools in terminal.
Download and install GUI apps:
- Chrome Normal
- Chrome Canary
- Firefox Normal
- Firefox Aurora
- Sublime Text 3
- Dropbox
- Skype
- Android File Transfer
-
VirtualBox and VirtualBox Extension Pack
- Open Preference and change remove spaces from "VirtualBox VMs" (Just don't like spaces in directories) and change "Host Key Combination" to Right Command key.
- Mou - really nice MacOS Markdown Editor.
- Brackets
- VLC
- LibreOffice
-
Moom
- enable "Launch automatically on login"
- disable "Show setting on lauch"
- Set "Run as" to menu bar application
- Evernote
Notes: Change the default browser to Chrome Canary by opening Safari preferences and selecting Chrome Canary.
Download and install CLI apps:
Note: Use the Terminal.app first then switch to iTerm2 later but install oh-my-zsh first so any configuration changes will be in .zshrc instead of .bashrc or .bash_profile then install homebrew.
-
oh-my-zsh
- Comment out the PATH export at bottom of script; edit /private/etc/paths; move /usr/local/bin to top of list; close and reopen terminal.
-
homebrew
- First time: run brew doctor, it will fail. Must accept Apple license first.
Homebrew installs:
* vim * mc - Midnight Commander - file manager * wget * git * tmux * reattach-to-user-namespace * tig - Git CLI tool to view git changes * tree * fossil - This is a scm tool similar to Git but really cool. * python --with-brewed-openssl * python3 --with-brewed-openssl * run brew linkapps * pip install virtualenvwrapper
- spf13-vim - plugins and resources for VIM
-
rvm - ruby version manager
- install ruby 2.0 (or latest stable version)
-
nvm - node version manager
- install node v0.10.22 (or latest stable version)
-
vagrant
- download the Ubuntu Precise 64 box from Vagrant Boxes
Install some extras and do addtional setup
Fonts and Backgrounds
-
Ubuntu Font
- Use this for Terminal(or iTerm2)
-
Adobe Source Code Pro
- Use this for Sublime Text
Unzip the files and use Font Book to install.
- Solarized - Don't use this All the time but...
Read the README for installation instructions.
Create an Automation to show/hide hidden files (dotfiles) in Finder
Follow the instructions on Michael C Hogan's website
Create a symbolic link for Sublime Text
ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl
Create the development file structure
├── Sites
│ └── vagrantvms
├── VirtualBoxVMs
│ ├── Ubuntu-1310
│ └── precise64_default_1384617137
├── bin
│ └── myscripts
├── builds
├── dev
│ ├── html
│ ├── jscript
│ ├── python
│ ├── ruby
│ └── websites
├── dotfiles
├── prod
│ └── websites
├── source
Sites - Generic place for local websites
VirtualBoxVMs - Created when VirtualBox was installed. Ubuntu was installed as a "first test" to make sure all works, precise64... is a vagrant vm.
bin/myscripts - Scripts are stored in myscripts then a symbolic link is created in bin.
builds - The source code for programs that are compiled locally (instead of installed using homebrew or a package).
dev - Directories are created for each language.
dev/websites and prod/websites - "Public" websites (such as this one) are developed in the dev area, tested and then "moved" to the matching prod/websites directory. This is not to say websites are not created under python or ruby or html, but these sites are "established" and are treated differently.
dotfiles - Non dotted versions of dot files. The files are symlinked to $HOME or the proper location for the dotfile.
source - This is source code that was downloaded to read and study.