/my-installfest

Guide for setting up a new dev machine my way

Primary LanguageShell

App Installations & App Configs

Downloads

Google Chrome

  • Configure browser startup to "continue where you left off"
  • Maybe disable cache while DevTools is open (in DevTools settings)
  • Maybe disable "prefetch resources" (in advanced settings)
  • Extensions: Advanced REST Client, JSONView, maybe React Dev Tools

Mozilla Firefox Developer Edition

  • Maybe enable tracking protection (in about:config settings)
  • Configure browser startup to "show windows and tabs from last time"
  • Maybe also install normal Firefox for testing frameworks to use
  • Cool dev tools shown on MozHacks YouTube channel

SizeUp (Mac OS window manager)

  • Configure shortcuts (e.g., CTRL + OPT + CMD + M = maximize window)
  • Disable some shortcuts (e.g., CTRL + CMD + UP Arrow interferes with code editor shortcut)

iTerm2

  • Set left option key to act as +Esc
  • Set working directory to "Reuse previous session's directory"
  • Configure shortcuts (e.g., OPT + LEFT Arrow = ESC + B to move cursor to beginning of word)

Atom (text editor)

  • Enable "Show Indent Guide" in settings
  • Packages: minimap, pigments, linter, linter-htmlhint, linter-csslint, linter-eslint, atom-beautify, Sublime-Style-Column-Selection, file-icons, autocomplete-emojis, etc.

Command Line Installations

Homebrew

  • Remember to run $ brew update && brew doctor

Git

  • Install via Homebrew: $ brew install git
  • Configure author identity via $ git config --global user.name "John Doe" && git config --global user.email johndoe@example.com
  • Configure default commit message editor as Atom

Node

  • Install via Homebrew: $ brew install node
  • n (Node version manager) via $ npm install -g n

Watch command

  • Install via Homebrew: $ brew install watch
  • Use in terminal. For example: $ watch docker-compose ps

Machine Config

Mac OSX

Bash

  • (see .bash_profile file in this repo)
  • Add colors based on .bash_profile here (customize colors with this guide)
  • Define aliases in .bash_profile (or create a .bash_aliases file that gets imported by .bash_profile)
    • to use repo-specific CLI tools rather than globally installing them:
      • Grunt: alias grunt="node_modules/.bin/grunt
      • Gulp: apparently Gulp automatically gives precedence to local Gulp install over global Gulp install, so aliasing isn't necessary for Gulp
    • Git:
      • Purge merged branches: alias gitpurge='git branch --merged | grep -v "\*" | grep -v "master" | xargs -n 1 git branch -d'