Back Button Tooling

Setup a Mac Dev Machine From Scratch

I've always enjoyed watching developers work. Which editor do they use? Do they prefer Terminal or iTerm? Are they using a virtual machine? If only in small pieces, I've learned from every developer I've ever worked with.

In this series, come along as I setup a Mac dev machine from scratch.

12 episodes
33:27 mins
Start Series
  • Episode 1 Run Time 3:37

    Though Terminal comes out of the box, I prefer to use iTerm and Oh-My-Zsh. Even for the command-line, visuals matter!

  • Episode 2 Run Time 2:23

    Let's pull in Sublime Text in this episode. However, I'm not the biggest fan of the stock install, in terms of visuals. Instead, we'll pull in the excellent Material theme. We'll also pull in a few monospaced fonts that you might like, including Roboto Mono, Fira Code, and Source Code Pro.

    To dig more heavily into Sublime Text configuration, check out the dedicated series here at Laracasts.

  • Episode 3 Run Time 3:36

    It may sound foolish, but it's true that I do use two editors in my day-to-day workflow. I find that PHPStorm particularly provides some useful refactoring and analysis capabilities, as opposed to a tool like Sublime Text. In this episode, we'll install it and begin configuring and improving the visuals.

  • Episode 4 Run Time 1:48

    Fortunately, Node is one of the more simple tools in our ecosystem to install. Just a few clicks will set us up. We'll also take a few moments to pull in Yarn, which provides some significant performance and security improvements over NPM.

  • Episode 5 Run Time 1:20

    Though every new Mac comes with PHP pre-installed, it's almost always out of date. My new machine ships with PHP 5.6! We're at 7.1 now, so let's install Homebrew to pull in the latest version, as well as MariaDB (a replacement for MySQL).

  • Episode 6 Run Time 2:20

    Every respectable PHP developer must have Composer installed. It's the defacto dependency manager for the language, and is leveraged by nearly all modern frameworks and libraries.

  • Episode 7 Run Time 4:54

    In this episode, we'll install PHPUnit globally, and figure out a clean workflow for triggering it in Sublime Text. Though a number of packages are available, I happen to prefer the simple Sublime-PHPUnit option, which can be installed through GitHub.

  • Episode 8 Run Time 2:16

    I'm fairly certain that I'm the only one who does this, but hear me out: I remap Caps Lock to Shift. Yes, not Control or Escape; I said Shift. In this episode, I'll explain why, while demonstrating how to go about performing such a remapping (with Karabiner Elements).

  • Episode 9 Run Time 3:01

    Though Git allows you to define any number of aliases, they're still too long to write in this author's opinion. Instead, let's create a dedicated file on our machine for aliases, and build up a handful of Git-specific ones.

  • Episode 10 Run Time 3:22

    In the past, I've reached for VirtualBox and Vagrant to setup my development environment. However, these days, for most projects in our space, Laravel Valet is a far more simple and light-weight alternative. I love every spec of it, and you will too!

  • Episode 11 Run Time 45

    There are a number of MySQL GUIs for the Mac, but I've only ever used Sequel Pro. When you're that satisfied with a tool or product, why bother looking for something else? It won't be as good.

  • Episode 12 Run Time 2:10

    SSH keys provide a secure way to connect and login to a remote machine or server. Let's generate a default key, and then hook it up to GitHub, so that I can easily pull and push to my repositories.