Setting Up and Customizing for Development
A list of applications, utilities, settings, and more for web development on Mac OS X.
iTerm 2
Installation
- Download and install the latest version of iTerm 2
- Download the
imgls
,imgcat
,download.sh
, anddivider
scripts. Place them in/usr/bin
and make them executable withchmod +x scriptname
Configuration
- General
- Startup
Use System Window Restoration Setting
- ☐ Open profiles window
- Closing
- ☐ Quit when all windows are closed
- ☐ Confirm closing multiple sessions
- ☐ Confirm “Quit iTerm2 (⌘Q)” command”
- Magic
- Instant Replay uses
4
MB per session - ☐ Save copy/paste and command history to disk
- Instant Replay uses
- Services
- ☐ Add Bonjour hosts to Profiles
- ☑ Check for updates automatically
- Prompt for test-release updates
- Preferences
- ☐ Load preferences from a custom folder or URL
- ☐ Save changes to folder when Iterm2 quits
- Selection
- ☑ Copy to pasteboard on selection
- ☐ Copied text includes trailing newline
- ☐ Applications in terminal may access clipboard
- Characters considered part of word for selection:
/-+\~_.
- Window
- ☑ Smart window placement
- ☑ Adjust window when changing font size
- ☐ Zoom maximizes vertically only
- ☐ Native full screen windows
- tmux Integration
- Open tmux windows as native windows
- Open dashboard if there are more than
10
tmux windows - ☐ Automatically hude the tmux client session after connecting
- Startup
- Appearance
- Tabs
- Tab bar location:
Top
- Theme:
Light
- ☑ Show tab bar even when there is only one tab
- ☑ Show tab numbers
- ☐ Show tab close buttons
- ☑ Show tab activity indicators
- ☑ Flash tab bar when switching tabs in fullscreen
- ☑ Show tab bar in fullscreen
- Tab bar location:
- Panes
- ☑ Show per-pane title bar with split panes
- Screen
- ☑ Auto-hide menu bar in non-native fullscreen
- Window & Tab Titles
- ☑ Show window number
- ☑ Show current job name
- ☐ Show profile name
- Dimming
- ☑ Dimming affects only text, not background
- Dimming amount:
20%
- ☑ Dim inactive split panes
- ☑ Dim background windows
- Window
- ☐ Show border around window
- ☑ Hide scrollbars
- ☐ Disable transparency for fullscreen windows by default
- Tabs
- Profiles (Default)
- General
- Basics
- Name:
Default
- Shortcut Key:
⌃⌘0 (Default)
- Tags:
default
- Badge: ★
- Name:
- Command
- Login shell
- Send text at start: ``
- Working Directory
- Home directory
- URL Schemes
- Schemes handled: Select URL Schemes…
- Basics
- Colors
- Color Presets… > Import… maberger.itermcolors
- Text
- Cursor
- Vertical Bar
- ☐ Blinking cursor
- Text Rendering
- ☑ Draw bold text in bold font
- ☑ Draw bold text in bright colors
- ☐ Blinking text allowed
- ☑ Italic text allowed
- Use thin strokes for anti-aliased text
On Retina displays
- Unicode
- ☐ Treat ambiguous-width characters as double width (not recommended)
- ☐ Use HFS+ Unicode normalization (better fidelity but slower)
- Font
- 15pt Droid Sans Mono Dotted for Powerline
- ☑ Anti-aliased
- ☐ Use a different font for non-ASCII text
- Cursor
- Window
- Window Appearance
- Transparency: Opaque
- ☐ Blur: Small Radius
- Settings for New Windows
- Columns: 120
- Rows: 36
- ☐ Hide after opening
- ☐ Open toolbelt
- Style:
Normal
- Screen:
No Preference
- Space:
Current Space
- Miscellaneous
- ☐ If showing profile name in tab, keep it when the title is changed
- ☐ Force this profile to open in a new window, never in a tab.
- Background Image
- ☐ Background Image: None
- Terminal
- Scrollback Buffer
- Scrollback Lines: ☑ Unlimited Scrollback
- ☐ Save lines to scrollback when an app status bar is present
- ☑ Save lines to scrollback in alternate screen mode
- Terminal Emulation
- Character Encoding:
Unicode (UTF-8)
- Report Terminal Type
xterm-256color
- ENQ Answer
- ☑ Enable mouse reporting
- ☐ Terminal may report window title
- ☑ Terminal may set tab/window title
- ☐ Disable session-initiated printing
- ☐ Disable save/restore alternate screen
- ☑ Disable session-initiated window resizing
- Character Encoding:
- Notifications
- ☐ Silence bell
- ☑ Send Growl/Notification Center alerts
- ☐ Flash visual bell
- ☑ Show bell icon in tabs
- Environment
- ☑ Set locale variables automatically
- Shell Integration
- ☑ Insert newline before start of command prompt if needed
- ☑ Show mark indicators
- Scrollback Buffer
- Session
- Closing
- ☑ Automatically close a session when it ends
- “Undo” can revive a session that has been closed for up to
5
seconds - Do not prompt before closing
- Miscellaneous
- ☐ Automatically log session input to files in:
- ☐ When idle, send ASCII Code:
- ☐ Avoid repainting while cursor is hidden to reduce flicker while scrolling
- Closing
- Keys
- Key Mappings
- Load Preset… > xterm defaults
- Keyboard Behavior
- ☐ Delete key sends ⌃H
- ☐ Allow application keypad mode
- Left option (⌥) key acts as: Normal
- Right option (⌥) key acts as: Normal
- Key Mappings
- General
- Keys
- Remap Modified Keys
- Control (⌃) key:
⌃ Control
- Left option (⌥) key:
⌥ Left Option
- Right option (⌥) key:
⌥ Right Option
- Left command (⌘) key:
⌘ Left Command
- Left command (⌘) key:
⌘ Right Command
- Control (⌃) key:
- Navigation Shortcuts
- To switch panes: ` ` + Number
- To switch tabs:
⌘
+ Number - To switch windows:
⌥⌘
+ Number
- Hotkey
- ☐ Show/hide Iterm2 with a system-wide hotkey
- Key Mappings
- Load Preset… > Factory Defaults
- Remap Modified Keys
- Pointer
- Mouse Button & Trackpad Gesture Actions
- Load Defaults
- ☑ ⌘-Click Opens Filename/URL (Semantic History)
- ☐ ⌃-Click reported to apps, does not open menu
- ☑ ⌥-Click moves cursor
- ☐ Double-click performs smart selection
- ☐ Triple-click selects entire wrapped lines
- ☑ Three-finger tap emultes middle click
- ☐ Focus follows mouse
- Mouse Button & Trackpad Gesture Actions
- Advanced
- Badge
- Font to use for the badge: Helvetica
- Maximum height of the badge: 0.1
- Maximum width of the badge: 0.5
- Right Margin: 20
- Should the badge render in bold type? Yes
- Top Margin: 0
- Badge
Sublime Text 3
Installation
- Download and install the latest version of Sublime Text 3
- Install Package Control through the console
Ctrl + `
- Setup the command line
subl
utility by running
ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl
Configuration
- Copy User/ directory contents into
/Users/Mark/Library/Application Support/Sublime Text 3/Packages/User
- Install Packages below
Packages
- AdvancedNewFile
- AutoFileName
- Better JavaScript
- CSS Extended Completions
- CSS3
- Dotfiles Syntax Highlighting
- Emmet
- fish-shell
- Git
- GitGutter-Edge
- Google Spell Check
- Gutter Color
- Highlight
- Jekyll
- LaTeXTools
- LiveStyle
- LoremIpsum
- Markdown Extended
- Origami
- Package Control
- PackageResourceViewer
- Pretty JSON
- Python PEP8 Autoformat
- PyV8
- Sass
- SCSS
- StyleSorter
- Theme - Afterglow
- TrailingSpaces
Fish Shell
Installation
brew install fish
Configuration
echo "/usr/local/bin/fish" | sudo tee -a /etc/shells
chsh -s /usr/local/bin/fish
cp -r fish/ ~/.config/fish/
set -g -x PATH /user/local/bin $PATH
MenuMeters
Download and install the latest version from: http://www.ragingmenace.com/software/menumeters/. Open the MenuMeters from System Preferences and apply the following settings:
- CPU
- Display CPU Menu Meter: Percentage
- Update interval (seconds):
1.0
- Display percentage as: Total (medium text)
- Network
- Display Network Menu Meter: Throughput
- Update interval (seconds):
1.0
- Display orientation: Receive/Transmit
- Ignore values below 1 KB/s
- Colors (For dark menu bar)
- Transmit
#007F40
- Receive
#7F0000
- Inactive
#686868
- Transmit
Spectacle
Download and install the latest version from: http://spectacleapp.com/. Shortcuts can be set manually, or automatically by running the .osx
script. The following shortcuts will be applied:
- Center: ⌃⌥⌘C
- Fullscreen: ⌃⌥⌘F
- Left Half : ⌃⌥⌘←
- Right Half: ⌃⌥⌘→
- Top Half: ⌃⌥⌘↑
- Bottom Half: ⌃⌥⌘↓
- Upper Left: ⌃⌥⌘1
- Lower Left: ⌃⌥⌘3
- Upper Right: ⌃⌥⌘2
- Lower Right: ⌃⌥⌘4
- Make Larger: ⌃⌥⌘=
- Make Smaller: ⌃⌥⌘-
Set the following preferences from the menu bar icon:
- Launch Spectacle at login
- Run… in the status menu
BetterTouchTool
- Settings
- Show Menubar Icon
- Launch BetterTouchTool on startup
- Window Snapping Enabled
- Gestures
- Three Finger Tap - Middle Click
- Three Finger Swipe Left - ⌘←
- Three Finger Swipe Right - ⌘→
- Four Finger Tap - ⌘W
- Five Finger Click - Sleep Display
Applications
- Internet
- Communication
- Media
- Utilities
- IDEs and Text Editors
- Tools
- Graphics and Design
- Documents and Files
- Virtualization
- Gaming
Fonts
- Google Fonts
- Powerline Fonts
Application Setup
Homebrew
Install the following packages:
brew install fish
brew install git-extras
brew install highlight
brew install ifstat
brew install imagemagick
brew install mpg123
brew install mpv
brew install python3
brew install ssh-copy-id
brew install tree
brew install unar
Node.js
To generate a list of globally installed packages:
npm list -g --depth=0
Install the following packages:
npm install -g bower
npm install -g diff-so-fancy
npm install -g generator-code
npm install -g grunt
npm install -g grunt-cli
npm install -g hackmyresume
npm install -g resume-cli
npm install -g uglifyjs
npm install -g vtop
npm install -g yo
pip
Download and install the latest version from: https://pip.pypa.io/en/stable/installing/.
pip install livestreamer
pip install mps
pip install mps-youtube
pip install pygments
Dropbox
Setup symbolic links to avoid duplicating content in the root folder:
cd ~/Dropbox
ln -s ~/Development
ln -s ~/Documents
ln -s ~/Pictures
massren
brew tap laurent/massren
brew install massren
massren --config "subl -n -w"
jq
Download and install the latest version from: https://stedolan.github.io/jq/.
mv ~/Downloads/jq-osx-amd64 /bin/jq
chmod +x /bin/jq