If there’s a single tool I made, that I am most greatful for having in my toolbelt, i’d say it is my collection of dotfiles. I am frequently booting up new cloud computing instances, so being able to automate - and quickly execute - my setup allows me to have a more enjoyable dev experience.
Currently, my dotfiles are split into the following seperate files:
.aliasfor all my aliases
.exportsfor all my exports.
.functions.shfor my own helpful functions
.gitconfigfor my gitconfig. useful to be able to have my development environment be the same between machines.
.p10k.zshis my powerlevel10k theme. I love this theme and how it’s organized. Still need to automate making sure that nerdfonts get installed.
.vimrcfor my vim configurations
.zshrcfor my zsh configuration
Brewfileis my brewfile to automate installing programs, apps and tools with brew as well as from the mac app store. I initially created my brewfile following these instructions, but basically, the brewfile can be created and updated with
brew bundle dump.
When setting up a new machine - for personal use, work, or perhaps a cloud compute instance such as an ec2 - i can use the setup scripts I have to get my dotfiles in place and being used.
- Clone my dotfiles
git clone https://github.com/chris-s-friedman/dotfiles.git
- cd into my dotfile repo
- I haven’t automated this yet - but if zsh isn’t installed, install zsh
sudo apt-get install git zsh
- set zsh to be default shell and install oh-my-zsh
- do the rest of the setup, like copying over the dotfiles, setting up oh-my-zsh addons, and installing other apps, programs, and tools
Once that script finished, I’m usually good to go and ready to start working!
Although it’s not my main text editor, I use vim every day for quick edits of files, so it’s convenient to have it setup on all the machines I work with.
For the simple setup of vim, I can just run
Everything starts with my
.vimrc file. I use vundle to manage my vim plugins, so after copying the vimrc to the path, vundle is installed.
After vundle is installed, vim is settup to run the way I like it!