4.84 (92 reviews)
☑ 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.
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
Symlink with Dotbot
Run Shell Scripts with Dotbot
Git & Symlinks Section Conclusion
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 1 Conclusion
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.
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.
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!
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!! ?
Patrick has such useful, deep information. And presents it in such a subdued yet highly entertaining way. I really appreciate this course.
The course focuses more on Homebrew and installing macOS-related software than actual .dotfiles and shel-scripting.
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.
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!
I already have experience with the terminal but appreciate his taking the time to go through the basics.
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.
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.
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
Great Teacher with a good pace. This course gets you closer to understanding the whole picture of your system and comes in very handy.
Clear and concise explanations. No fluffs and straight to the points. I hope every course be like this.
Clear, well-paced, and extremely powerful course for Mac users. Opens up a whole new world of possibilities for developer productivity with dotfiles.