ohmybuck

Setting Up Your Mac

June 08, 2020

My somewhat opinionated guide to mac setup with a focus on enhancing existing/normal workflows. Tooling and setup has a focus on ease of setup and keeping an experience that isn’t too far from OS defaults.

  1. Install homebrew
  2. Install git, ZSH, and shell completions

    brew install wget zsh zsh-completions git vim && brew cask install iterm2
  3. Install oh-my-zsh

    sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
  4. Install and apply keybindings for iterm

    mkdir iterm-settings && curl -s https://raw.githubusercontent.com/olmesm/setup-mac/master/iterm-keybindings/com.googlecode.iterm2.plist | sed -e 's|%%HOME%%|'"${HOME}"'|g' > ~/iterm-settings/com.googlecode.iterm2.plist
    • Open iTerm2
    • Open iTerm2 > Preferences or ”⌘” + ”,”
    • Preferences > Load preferences from a custom folder or URL
    • Check and set to ~/iterm-settings
  5. Change default login shell for user

    chsh -s /bin/zsh
  6. Change oh-my-zsh to include full path

    ZSH_THEME=~/.oh-my-zsh/themes/ollyrussell.zsh-theme
    
    cp ~/.oh-my-zsh/themes/robbyrussell.zsh-theme $ZSH_THEME
    find $ZSH_THEME -type f -exec sed -i '' -e 's|%c%|%~%|g' {} \;
    find ~/.zshrc -type f -exec sed -i '' -e 's|ZSH_THEME="robbyrussell"|ZSH_THEME="ollyrussell"|g' {} \;
  7. Install runtimes as required

  8. Install recommended packages (feel free to delete as required)

    brew cask install \
    boostnote \
    chromium \
    cyberduck \
    docker \
    firefox \
    itsycal \
    keybase \
    libreoffice \
    ngrok \
    opera \
    postman \
    slack \
    transmission \
    virtualbox \
    visual-studio-code \
    vlc \
    whatsapp \
    google-chrome

    Note you’ll need to approve most of the above apps from unidentified developers

  9. Create a projects and personal directory

    mkdir \
    -p ~/projects/prototypes \
    ~/personal
    Directory Description Structure
    projects Client work and prototypes projects/<client>/<code-repo>
    personal Personal and non-company work. Ethically OK to take when leaving. personal/<code-repo>
  10. Add projects and personal to your favourites

    open ~
    • Drag and drop the projects and personal directories into the left hand favourites pane of the finder window.
  11. For managing multiple calendars, install Woven
  12. For ubuntu-like window snapping, install Magnet
  13. For a quickly accessible calandar and clock, setup itsycal (depends on brew cask install itsycal as above)

    • Open itsycal
    • Open Preferences or ”⌘” + ”,”
    • General > Launch at login
    • Preferences > Appearance > h:mma E d MMM
  14. Install Lastpass in the browser
  15. Setup Authy on your mobile device for MFA - do not install this on your laptop.
  16. Setup Lastpass on your mobile device.
  17. Setup Woven on your mobile device.
  18. Setup Slack on your mobile device.

Written by Oliver Smit. I love talking about web technologies, good design practices, optimising productivity, and rapid prototyping of projects. Check out my work on Github