Dotfiles from Start to Finish-ish

Use Dotfiles to backup your Mac setup in a Git repository while gaining Command Line & ZSH expertise along the way.

4.84 (92 reviews)


8 hours


Jun 2021

Last Update
Regular Price

Unlimited Online Backup
15-day free trial

What you will learn

Saving software and system configuration in a "Dotfiles" Git repository for an upcoming computer restoration.

Installing software in an automatable and idempotent fashion with Homebrew.

Use of various pre-installed and new command line tools, including bat, exa, git, httpie, ls, man, and more.

An introduction to a handful of applications (including VS Code, Alfred, Dropbox, GitKraken, and Snappy) and how they relate to Dotfiles.

Intermediate use of Git and GitHub in the command line and in the applications, VS Code and GitKraken.


Our Macs* are littered with hidden "dotfiles" which maintain system and application configuration information. In this course, we will:

  • learn exactly what "dotfiles" are,

  • backup these files in a Git repository,

  • start using tools to automate the bootstrapping process,

  • use Homebrew so our application installs are recorded in a remote repository,

  • learn many things about our shell, including Redirection, Standard Input / Output / Error, File Descriptors, HereDoc / HereWord, Error Codes, and more.

  • and see now Node, NPM, and Yarn fit into our Dotfiles setup (an exercise that will be similar to setting up Ruby, Java, etc.)

Along the way, we will learn how to use the Command Line and several related tools. We will start customizing our shell (with aliases, functions, variables, etc.) and replace built-in tools with projects from the open source community that improve our shell experience. Each step we take will be tied back into the larger Dotfiles concept and recorded in our repository.

This subject is big and I have many more hours of content that I'd like to create. In addition to what's currently available, I'm planning on creating two more installments. Part 2 will be about ZSH. Part 3 will be where we put it all together and restore our setup on a new OS. As new content will likely come with price increases, now is the time to enroll.

* All the work in this course is done on macOS. Much of the content will be relevant to those on Unix-like systems, and less so on Windows systems.


Dotfiles from Start to Finish-ish
Dotfiles from Start to Finish-ish
Dotfiles from Start to Finish-ish
Dotfiles from Start to Finish-ish


Course Introduction

Course Introduction

Introduction to Dotfiles

What is a Dotfile?

Changing Shells to ZSH

Why do we care?

A Look at dotfiles.github.io

Our First Dotfile (.zshrc)

Create an Alias

Customize the Prompt

Write a Function

Introduction Section Conclusion

Git & Symlinks

Install Command Line Tools

Configure Git with a Private "no-reply" Email Address

Set Up SSH Part 1

Set Up SSH Part 2

Set Up SSH Part 3

Create and Clone GitHub Repository

Change, Commit, and Push Code

Move and symlink .zshrc

Setup Dotbot

Symlink with Dotbot

Run Shell Scripts with Dotbot

Git & Symlinks Section Conclusion


Install Homebrew

Create a Branch in Git

Install Packages with Homebrew Part 1 (httpie)

Install Packages with Homebrew Part 2 (bat)

Review Package Installations

Review Homebrew Installation

New Tools and the Homebrew Installation Command

Install Applications with Homebrew Part 1 (Google Chrome)

Install Applications with Homebrew Part 2 (VS Code)

Reinstall Code Binary with GUI

Add Code Binary to $PATH Variable

Create Github Issue About Conflicting Commands

What is the Heredoc?

Install Homebrew with Dotbot

Disable Gatekeeper for Casks

Switch to Brewfile Part 1

Switch to Brewfile Part 2

Play with exa

Play with Dropbox and Alfred Part 1

Play with Dropbox and Alfred Part 2

Play with Dropbox and Alfred Part 3

Install from App Store with mas-cli Part 1

Install from App Store with mas-cli Part 2

Homebrew Section Conclusion

Course Conclusion

Course 1 Conclusion


Derick31 May 2021

By far, the most excellent Udemy course ever. I've purchased dozens of courses so far, and this is the first one that I've felt compelled to actually finish. If you're contemplating this course, go ahead. You won't regret your decision.

Prasanna28 May 2021

Though, so far I knew all you mentioned so far, but it was very interesting the way you represent aspects of using the terminal and changing the shell. Interesting.

Guillermo4 May 2021

Maybe I'm biased because I started with the same setting: MacOS, ZSH, VSC, etc, but this course is gold. I'm about to get a new Mac and one of my nightmares is to figure out how to replicate my current settings on my new machine. This answers most of my questions, and I cannot wait for the upcoming instalments. Hopefully Patrick would consider adding to the package other settings, such as VS Code settings.json, extensions, etc. Looking forward to all that and more surprises. I also enjoyed Patrick's particular sense of humour. This course is a solid 5/5!

Nicholas6 April 2021

This was a very great and well-structured course from start to finish. I had just switched over from Windows to MacOS and this course definitely helped with easing that transition. Not only that, I loved the way the commands were broken down into little bits and pieces. Very useful for beginners to the CLI! Occasionally, the editing would be a bit off-putting, but it is definitely getting better in the recent videos, so kudos to that! Overall, this course was more than satisfactory for my needs, and even taught me more than what I wanted to know. Keep up the great work, looking forward to more content from you in the future!! ?

Alec22 March 2021

Patrick has such useful, deep information. And presents it in such a subdued yet highly entertaining way. I really appreciate this course.

Christian22 March 2021

The course focuses more on Homebrew and installing macOS-related software than actual .dotfiles and shel-scripting.

Javier21 March 2021

I’ve spent four years in a top notch university learning computer science and engineering, yet this one course has taught me more about my system, shell, git, GitHub, Homebrew, and so many other essential programs. I’ve gone as far as telling my fraternity brothers to share this course with any aspiring CS or CE majors we meet because it is such a primer on the bare essentials of source control, command line, and basic understanding of the different file types and programs in one’s computer. I definitely am looking forward to the next installments of this series. Please keep doing awesome workPatrick.

Jeffrey10 March 2021

This such a brilliantly organized course. The pacing is perfect. It unfolds in such a way that I end up learning things I didn't mean to. Over the years I've learned the terminal, git, and macOS configuration in a very haphazard way -- often through copy-and-paste tutorials that were in disagreement. (I would have no idea of the disagreements until my machine threw some cryptic error a week or a month later.) I'm deep into this course now and for the first time I can feel the ground under my feet as I live more and more in the terminal and start to feel the protection and relief of a thoughtful dotfiles system. So grateful!

Christian18 February 2021

I already have experience with the terminal but appreciate his taking the time to go through the basics.

Ryan18 February 2021

I think the video cutting is kinda awkward. It's easy to tell that after every sentence or two Patrick cuts his video and restarts it, as his little video is jumping around. A higher screen recording resolution would be beneficial as well. I have my 2020 M1 MBP and a 27" 1440p external display, and when the video is on the external display, I only have a max video resolution of 720p, making everything pixelated and harder to follow along. Overall I like the presentation though. As someone who daily drove Linux for 2 years (but never bothered with dotfile management) I haven't learned a whole lot yet, but that's because running around in BASH/zsh was a daily thing. Edit: Updated stars (I didn't mean for it to be 3.5 in the first place) after seeing the response.

Sebastian17 February 2021

The instructor is clear and has a great way of delivering the information, timing on the way he talks and does things also helps the understanding. its also clear why the subject its important for devs and teaches you with that in mind.

Samuel14 February 2021

automating macOS preference is what attracted me to purchase, the course, but seems it was not included in the first part of the course and dunno how long will I need to wait til the second and third installment to come

Lukas7 February 2021

Great Teacher with a good pace. This course gets you closer to understanding the whole picture of your system and comes in very handy.

Champ1 February 2021

Clear and concise explanations. No fluffs and straight to the points. I hope every course be like this.

Jeff2 January 2021

Clear, well-paced, and extremely powerful course for Mac users. Opens up a whole new world of possibilities for developer productivity with dotfiles.

Related Courses

iPhone Photography - Improve Your Digital Photography Today
iPhone Photography - Improve Your Digital Photography Today
Create & Sell Your Digital Art Online: Illo + Design Fundamentals
Create & Sell Your Digital Art Online: Illo + Design Fundamentals
Digitize Your Lettering: 3 Easy Methods
Digitize Your Lettering: 3 Easy Methods


Udemy ID


Course created date


Course Indexed date
Course Submitted by