Skip to content

Latest commit

 

History

History
305 lines (210 loc) · 13.7 KB

README.md

File metadata and controls

305 lines (210 loc) · 13.7 KB

MacBook Pro (16-inch, 2019) Setup

I like to update my process for setting up a new machine and I'm back with an update for 2021. This will be the first of two new setups because I plan on getting the new 16" M1 MacBook Pro whenever that is released. The laptop I am setting up with this document is:

  • MacBook Pro (16-inch, 2019)
    • 4 Thunderbolt 3 ports
  • Processor: 2.6 GHz 6-Core Intel Core i7
  • Memory 32GB 2667 MHz DDR4
  • Graphics: AMD Radeon Pro 5300M 4 GB Intel UHD Graphics 630 1536 MB

At the time of writing this I have only been using this machine for about a week but I can honestly say it's one of the best machines I have ever owned.

macOS Updates

The first thing I do is run any updates that are available. In my case, the laptop came preloaded with macOS Catalina and macOS Big Sur was just released. So my first step is going to be to update to macOS Big Sur. You can download this and run this from the App Store.

App Store

If you have signed in with your Apple Id you will be taken directly to the Apple Store. This is a good time to run any application updates that are available. If this is a work laptop like it is in my situation I recommend setting up a new Apple Id with your work email address.

You might run into issues here because the apple id that downloaded them is not you. In this case I just removed those apps I am not using (GarageBand,Numbers,Pages,iMovie...)

To remove applications I like installing AppCleaner. This will make sure that the application and any related files will be removed. Another application I love for this and so many other things is Clean My Mac. This application has a yearly subscription fee but worth the price tag.

Garage Band

If you don't have a large hard drive and space is at a premium removing Garage Band will free up a bunch of it. Unfortunately, AppCleaner only works for 3rd party installed applications and won't remove GarageBand. You need to remove this manually and while there are a few more locations these are the main three you should remove. If you're going to use apple sound affects in other programs please read up on this before deleting it.

  • /Applications/GarageBand.app
  • /Library/Application Support/GarageBand/
  • /Library/Audio/Apple Loops/Apple/

Empty Trash

Install Apps

While I am in the App Store I take this opportunity to install any apps that I need. This is my current list:

  • Xcode
  • MindNode

System Preferences

I have a few things that I customize in preferences:

Trackpad: System Preferences > Trackpad > Scroll & Zoom: I uncheck scroll direction: Natural (It doesn’t feel natural for me)

Dock: System Preferences > Dock Change the size to small and turn on magnification I also remove all icons from the dock that I don't use

Avatar: System Preferences > Users & Groups > Edit Avatar

Theme: macOS Mojave introduced light & dark themes. If you want to change this later simply go to System Preferences > General > Appearance. I like the auto option will use the light theme during the day and the dark theme at night.

Finder

I like to customize Finder so I can get to all of my most used places quickly.

Favorites

  • Add common folders to favorites
    • Home (Users/vega)
    • dev/
    • clients/
  • screenshots (configure screenshot utility to save here)
    • open screenshot > options > other location

A few tips in finder

  • cmd+shift+h (takes you home)
  • cmd . (show hidden files and folders)

HEIC -> JPEG Quick Action

If you ever Air Drop an image that was taken with your iPhone you know that it shows up as an .HEIC. This action created by Wes Bos allows you to quickly convert that into a JPEG.

https://twitter.com/wesbos/status/1349353751723855875

Getting Started

Anything I can install using HomeBrew I will. Before you install HomeBrew though you need to install the Xcode command-line utilities. Open up a new terminal and type the following command. Even if you plan on installing Xcode I believe you still need to install these now as they moved them out of the standard installation.

xcode-select --install

The command-line Tools Package is a small self-contained package available for download separately from Xcode and that allows you to do command-line development in OS X. It consists of two components: OS X SDK and command-line tools such as Clang, which are installed in /usr/bin.

HomeBrew

As I said earlier I use HomeBrew to install anything that it can install. If you normally use brew to install something like google-chrome you know that you have to then drag it into the applications folder. If you use cask it will not only download the package but also move it into the applications folder for you.

HomeBrew Website

Installation: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Post Installation

  • If you need help with brew you can run brew help.
  • brew update - You shouldn't have anything to update but its good to check.
  • brew search 'term' to search for brews

Shell

The default shell in macOS is now zsh. All this means is that the user account shell will default to zsh. This doesn't mean you can't use bash or whatever shell you want. In the past, I have switched this to bash but I have decided to stop being an old man who is stuck in his ways and switch over to zsh and oh-my-zsh.

OH MY ZSH

If you're going to use ZSH you must start by installing oh-my-zsh.

Oh My Zsh is a delightful, open-source, community-driven framework for managing your Zsh configuration. It comes bundled with thousands of helpful functions, helpers, plugins, themes, and a few things that make you shout... "Oh My ZSH!"

This replaces the need for me to customize bash with all my aliases, shortcuts a personal preferences. Once you have oh-my-zsh installed you can switch themes and add plugins. I decided to install the Spaceship theme and here are the following plugins that I have activated.

plugins=(common-aliases git aws docker golang httpie node npm nvm spring zsh-syntax-highlighting zsh-autosuggestions zsh-z zsh-sdkman)

Shell

iTerm2

I switched from Terminal to iTerm2 a couple of years ago and haven't looked back. If you want to find out about some of the features & configurations it gives you please check out their website.

brew install --cask iterm2

One thing I like to do is customize the colors and a great resource for that is https://iterm2colorschemes.com/

This is a list of my favorite color schemes.

  • Dracula
  • FirefoxDev
  • Github
  • Grape
  • Grass
  • Hipster Green
  • Homebrew
  • Man Page
  • Material
  • MaterialDark
  • Novel
  • OceanicMaterial

Development Setup

Now that I have a clean and stylish command line full of features it's time to start installing all of the different applications I will use. If you have any questions about any of these or why I install them please see the contact me section below.

  • brew install git
  • brew install --cask google-chrome
  • brew install --cask firefox-developer-edition
  • brew install --cask visual-studio-code
  • brew install --cask intellij-idea
  • brew install --cask docker
  • brew install --cask tableplus
  • brew install --cask insomnia
  • brew install --cask lastpass
  • brew install --cask rectangle
  • brew install --cask obs
  • brew install --cask zoom
  • brew install --cask slack
  • brew install --cask discord
  • brew install --cask notion
  • brew install --cask adobe-creative-cloud
  • brew install tree
  • brew install bat
  • https://github.com/sindresorhus/quick-look-plugins

Visual Studio Code

Visual Studio Code is my goto all-purpose text editor. VSCode recently added support for settings sync which allows you to sync all of your settings, themes, extensions across multiple devices. This makes setting up an instance of Visual Studio Code a snap. This is by no means a complete list but here are a few of my favorite settings that get synced.

Fonts

Themes

Extensions

Node & NPM

If you're going to install Node I think the best way to do so is by using Node Version Manager (NVM). This to me has a few advantages over installing it from brew or even directly downloading it from their website.

  • You can install multiple versions of Node
    • You can set a default version
    • You can switch between these versions easily
  • Installs in your home directory
    • You don't need special privileges
    • No more sudo when installing packages globally

Once you have NVM you can install the latest stable release (v10.12.0 at the time of this writing) using the following command.

nvm install stable

Global Packages to Install

npm install -g tldr npm install -g typescript npm install -g @vue/cli npm install -g vuepress npm install -g @angular/cli npm install -g eslint npm install -g lodash

Git Config

There is usually a default install of git but we used brew to install the latest earlier. Now that we are on the latest version of git we need to do a little configuration. If you run the following commands they will be written to .gitconfig:

  • git config --global user.email "[email protected]"
  • git config --global user.name "Dan Vega"

Next, you need to generate an ssh key and add the key to your provider account. I am using Github and they happen to have some great documentation on everything ssh.

https://docs.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh

SDKMan

This is one of my favorite version managers because I use a lot of the Software Development Kits (SDKs) it manages. If you haven't heard of SDKMan check them out here. This is a list of SDKs I manage using SDKMan.

  • Java
  • Groovy
  • Grails
  • Gradle
  • Maven
  • Micronaut
  • Spring Boot
  • Kotlin

Here is a full list of SDKs https://sdkman.io/sdks

Installation: curl -s "https://get.sdkman.io" | zsh

If you just type SDK install candidate it will install the latest stable version or you can install a specific version

sdk install java 15.0.1.hs-adpt

If you need to get a list of versions you can ask for it:

sdk list java

There is also a Sdkman Zsh Plugin that will give you some autocompletion.

Chrome Plugins

Adobe Creative Suite

I am a big fan of Adobe and all of their products! I have a subscription to the creative cloud and I installed that earlier using HomeBrew. I will open up the creative cloud tool and install the following products:

  • Photoshop
  • Illustrator
  • Premiere Pro
  • After Effects
  • Premiere Rush
  • XD

Contact Me

If you have any questions about anything I am using or have suggestions for something I am missing please don't hesitate to reach out. You can find me on my website at http://www.therealdanvega.com or send me an email to [email protected]. I also have a uses page where you can find out more about my setup.