Dotfiles from Start to Finish-ish (Udemy.com)
Use Dotfiles to backup your Mac setup in a Git repository while gaining Command Line & ZSH expertise along the way.
Created by: Patrick McDonald
Last updated June 2021
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.
How it compares
Against the other 1,182 rated Udemy courses in IT & Software on CourseDuck:
- Rating4.7 out of 5higher than 86% of them
- Reviews350#666 of 1,183 by number of reviews
- Length7.9 hourslonger than 62% of them
- Last updatedJune 2021earlier than 80% of them
Course Description
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 hoping to make two more installments; Part 2 would be about ZSH and Part 3 would be where we put it all together by restoring our setup on a new OS. As new content will likely come with price increases, now is the time to enroll. But whether I can continue adding material depends on the success of the current material, so please help get the word out.
* 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.
Instructor Details
- 4.7 Rating
350 Reviews
Patrick McDonald
I'm a 20+ year tech veteran who survived the rise and fall of Flash and landed comfortably in the world of JavaScript development. I've worked with agencies and companies, big and small, spending most of my time in Columbus, OH and Chicago, IL.
Recently, I've been an Angular coach and mobile developer. I focus on hybrid development with Ionic and have a strong affinity for RxJS and Firebase. TypeScript, AngularFire, and NgRx are great too.
More IT & Software courses
D3.js Data Visualization Fundamentals - Hands On (2026)
4.9 (3,917 Reviews)
Provider: Udemy
Time: 4.6h
$49.99
Hands-On Training: Streaming Data with Apache Kafka on Azure (2025)
4.9 (103 Reviews)
Provider: Udemy
Time: 3.7h
$10.99
Oracle Grid Infrastructure and RAC using Oracle Database 19c (2026)
4.8 (2,499 Reviews)
Provider: Udemy
Time: 8.7h
$19.99
PowerShell Scripting & Automation: The Complete Hands-On (2026)
4.8 (1,750 Reviews)
Provider: Udemy
Time: 9.6h
$11.99
AWS EC2 Crash Course + Load Balancing with Demos and PDFs (2025)
4.8 (866 Reviews)
Provider: Udemy
Time: 3.7h
$19.99
Reviews
By Matthew Fawcett on 8/8/2022
This is the best course I've ever taken on Udemy. Not only will you learn how to backup and restore your mac with all your apps, settings, and configurations, but you will learn the command line, visual studio code, git and github, and much more. He obviously spent an inordinate amount of time creating this course yet few students actually purchased it. Udemy should hire him full time as an instructor. Excellent work.
By Sarit Hiranyaphinant on 7/31/2022
It's not even half the course and I feel like I've learned things I never would have spent the time to learn on my own. I loved that he includes useful tips about CLI commands and techniques. I highly recommend this course to anyone who's looking to improve their digital workspace hygiene or simply wants to understand the environment which makes up their work processes as a developer.
By Shane Patel on 7/1/2022
This is an excellent course and where you will learn alot. This is only the first of three parts but I now have a good grasp of the foundations that I am not afraid of reading man pages and other technical material. Patrick certainly knows his stuff but what makes him great is his skill as a great teacher where you follow him along, learning as you go and building your understanding and that "I get it" feeling.
By J P on 1/3/2022
The course was very informative and at times it was over my head. Patrick is an excellent teacher. The reason for the four stars is that it is unfinished and I will update this review if / when the course is updated. I purchased this course thinking that I would learn how to move dot files, sym link them AND finally make them disappear from the home directory. I am looking forward to the updated course
By Simon Ward on 7/20/2021
This is a fantastic course. Patricks explanations are exceptionally clear and well considered. I took a punt on this course as I wasn't really sure how useful it would be, but it turned out to be a rock solid roundup of many core concepts, shell-scripting, variables, customisations, aliases, Git & Github, Homebrew and automation, Node, etc. Thanks Patrick, if you do make the future installments, then I will buy them.
By Guillermo Brachetta on 5/4/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!
By Nicholas Lee on 4/6/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!!
By Javier Francisco Cuadra on 3/21/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.
By Jeffrey S Guntzel on 3/10/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!
By Samuel Wong on 2/13/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
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 94 / 100






