rkb81
3/16/2016 - 12:43 PM

Mac OS X 10.10 Yosemite Setup

Mac OS X 10.10 Yosemite Setup

Mac OS X 10.10 Yosemite

Custom recipe to get OS X 10.10 Yosemite running from scratch, setup applications and developer environment. I use this gist to keep track of the important software and steps required to have a functioning system after a semi-annual fresh install. On average, I reinstall each computer from scratch every 6 months, and I do not perform upgrades between distros.

This keeps the system performing at top speeds, clean of trojans, spyware, and ensures that I maintain good organizational practices for my content and backups. I highly recommend this.

You are encouraged to fork this and modify it to your heart's content to match your own needs.

Install Software

The software selected is software that is "tried and true" --- software I need after any fresh install. I often install other software not listed here, but is handled in a case-by-case basis.

Install from App Store

Install from Third-Party Websites

  • Browsers

    • Chrome (installed via Cask)
    • Firefox(installed via Cask)
    • Opera (installed via Cask)
  • Development

  • Utilities

  • Virtualization

    • Vagrant (installed via Cask)

Fonts

#Xcode Command Line Tools

xcode-select --install

#Homebrew

Run Xcode and accept the license

Homebrew can not install properly until this occurs.

Install Homebrew

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew doctor

At the time of this writing, brew doctor says that Xcode 6.1 is required, which means downloading it from the Apple Developer Center until it is released in the Mac App Store.

Install Homebrew extension Cask

brew install caskroom/cask/brew-cask

Install common applications via Homebrew

Databases are installed later.

brew install ack autojump automake colordiff curl git git-flow \
             hub icoutils imagemagick libmemcached memcached openssl ossp-uuid qt \
             readline redis tmux wget libxml2

Install applications via Homebrew Cask

brew cask install anvil github google-chrome opera joinme \
             iterm2 rescuetime rubymine spotify steam skype \
             vagrant vagrant-manager

#Shell

Install custom .dotfiles

sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

OS X Preferences

#Set a blazingly fast keyboard repeat rate

defaults write NSGlobalDomain KeyRepeat -int 0.1

#Set a shorter Delay until key repeat

defaults write NSGlobalDomain InitialKeyRepeat -int 6

#Add a context menu item for showing the Web Inspector in web views

defaults write NSGlobalDomain WebKitDeveloperExtras -bool true

#Show the ~/Library folder

chflags nohidden ~/Library

#Store screenshots in subfolder on desktop

mkdir /Volumes/f/Dropbox/Screenshots
defaults write com.apple.screencapture location /Volumes/f/Dropbox/Screenshots

Set hostname

sudo scutil --set HostName Mabuchi-Kyoma

#Git

Setup Github

cd ~/ && ln -s /Volumes/f/Dropbox/apps/profiles/.ssh
cd ~/ && ln -s /Volumes/f/Dropbox/apps/profiles/.zshrc
cd ~/ && ln -s /Volumes/f/Dropbox/apps/profiles/.gitconfig
cd ~/ && ln -s /Volumes/f/Dropbox/apps/profiles/.gitmessage
cd ~/ && ln -s /Volumes/f/Dropbox/apps/profiles/.gitexcludes

Sublime Text

Add Sublime Text CLI

mkdir -p ~/bin && ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" ~/bin/subl

Install Package Control

Run Sublime Text 3 and access the console via the CTRL + ``` shortcut or theView > Show Console` menu.

import urllib.request,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404' + 'e330c659d4bb41d3bdf022e94cab3cd0'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)

See https://sublime.wbond.net/installation for more information. Their site has a note that this install code will change for each new release, so it would be good to check once in a while.

Settings

Sublime Text > Preferences > Settings - User

{
    {
    "always_prompt_for_file_reload": false,
    "always_show_minimap_viewport": true,
    "animation_enabled": true,
    "atomic_save": true,
    "auto_close_tags": true,
    "auto_complete": true,
    "auto_complete_commit_on_tab": false,
    "auto_complete_delay": 50,
    "auto_complete_selector": "source - comment, meta.tag - punctuation.definition.tag.begin",
    "auto_complete_size_limit": 4194304,
    "auto_complete_triggers":
    [
        {
            "characters": "<",
            "selector": "text.html"
        }
    ],
    "auto_complete_with_fields": false,
    "auto_find_in_selection": false,
    "auto_indent": true,
    "auto_match_enabled": true,
    "binary_file_patterns":
    [
        "*.jpg",
        "*.jpeg",
        "*.png",
        "*.gif",
        "*.ttf",
        "*.tga",
        "*.dds",
        "*.ico",
        "*.eot",
        "*.pdf",
        "*.swf",
        "*.jar",
        "*.zip"
    ],
    "bold_folder_labels": true,
    "caret_extra_bottom": 0,
    "caret_extra_top": 0,
    "caret_extra_width": 1,
    "caret_style": "phase",
    "close_windows_when_empty": false,
    "color_inactive_tabs": false,
    "color_scheme": "Packages/Material Theme/schemes/Material-Theme.tmTheme",
    "copy_with_empty_selection": false,
    "create_window_at_startup": true,
    "default_encoding": "UTF-8",
    "default_line_ending": "system",
    "detect_indentation": true,
    "drag_text": false,
    "draw_centered": false,
    "draw_indent_guides": true,
    "draw_minimap_border": false,
    "draw_white_space": "selection",
    "enable_hexadecimal_encoding": true,
    "enable_tab_scrolling": false,
    "enable_telemetry": "auto",
    "ensure_newline_at_eof_on_save": false,
    "fade_fold_buttons": true,
    "fallback_encoding": "UTF-8",
    "file_exclude_patterns":
    [
        "*.pyc",
        "*.pyo",
        "*.exe",
        "*.dll",
        "*.obj",
        "*.o",
        "*.a",
        "*.lib",
        "*.so",
        "*.dylib",
        "*.ncb",
        "*.sdf",
        "*.suo",
        "*.pdb",
        "*.idb",
        ".DS_Store",
        "*.class",
        "*.psd",
        "*.db",
        "*.sublime-workspace"
    ],
    "find_selected_text": true,
    "fold_buttons": true,
    "folder_exclude_patterns":
    [
        ".svn",
        ".git",
        ".hg",
        "CVS"
    ],
    "font_face": "Anonymous Pro",
    "font_options":
    [
        "gray_antialias",
        "subpixel_antialias"
    ],
    "font_size": 16,
    "gpu_window_buffer": "auto",
    "gutter": true,
    "highlight_line": true,
    "highlight_modified_tabs": true,
    "hot_exit": true,
    "ignored_packages":
    [
        "Vintage"
    ],
    "indent_guide_options":
    [
        "draw_normal",
        "draw_active"
    ],
    "indent_subsequent_lines": true,
    "indent_to_bracket": false,
    "index_exclude_patterns":
    [
        "*.log"
    ],
    "index_files": true,
    "line_numbers": true,
    "line_padding_bottom": 5,
    "line_padding_top": 5,
    "margin": 0,
    "match_selection": true,
    "match_tags": true,
    "material_theme_appbar_yellow": true,
    "material_theme_bold_tab": true,
    "material_theme_compact_sidebar": false,
    "material_theme_contrast_mode": false,
    "material_theme_disable_fileicons": false,
    "material_theme_disable_folder_animation": false,
    "material_theme_disable_tree_indicator": false,
    "material_theme_panel_separator": true,
    "material_theme_small_statusbar": true,
    "material_theme_small_tab": true,
    "material_theme_tabs_autowidth": true,
    "material_theme_tabs_separator": true,
    "material_theme_tree_headings": true,
    "move_to_limit_on_up_down": false,
    "open_files_in_new_window": false,
    "overlay_scroll_bars": "enabled",
    "preview_on_click": false,
    "remember_open_files": true,
    "rulers":
    [
        80,
        120,
        160
    ],
    "save_on_focus_lost": false,
    "scroll_past_end": true,
    "scroll_speed": 5.0,
    "shift_tab_unindent": false,
    "show_encoding": false,
    "show_full_path": false,
    "show_line_endings": false,
    "show_panel_on_build": true,
    "show_tab_close_buttons": true,
    "sidebar_default": "large",
    "smart_indent": true,
    "spell_check": false,
    "tab_completion": true,
    "tab_size": 4,
    "theme": "Material-Theme.sublime-theme",
    "translate_tabs_to_spaces": true,
    "tree_animation_enabled": true,
    "trim_automatic_white_space": true,
    "trim_trailing_white_space_on_save": true,
    "use_simple_full_screen": false,
    "use_tab_stops": true,
    "word_separators": "./\\()\"'-:,.;<>~!@#$%^&*|+=[]{}`~?\\.",
    "word_wrap": true,
    "wrap_width": 0
}

}

Key Bindings

[
    { "keys": ["super+b"], "command": "expand_selection", "args": {"to": "brackets"} },
    { "keys": ["super+f"], "command": "show_panel", "args": {"panel": "replace"} },
    { "keys": ["super+alt+f"], "command": "show_panel", "args": {"panel": "find"} }
]

Server

Ruby Gems

libv8 / therubyracer

brew uninstall v8
gem uninstall libv8
brew install v8
gem install therubyracer
gem install libv8 -v 3.16.14.3 -- --with-system-v8