Dotfiles from Start to Finish-ish
What you'll 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.
- General use of macOS
- A GitHub account and some Git experience
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.
Who this course is for:
- Software developers looking for a geeky way of backing up one's system and setup.
- Those who may have avoided the Command Line, but are ready to take the plunge.
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.