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.
Individual Dotfiles
Currently, my dotfiles are split into the following seperate files:
.alias
for all my aliases.exports
for all my exports..functions.sh
for my own helpful functions.gitconfig
for my gitconfig. useful to be able to have my development environment be the same between machines..p10k.zsh
is my powerlevel10k theme. I love this theme and how it’s organized. Still need to automate making sure that nerdfonts get installed..vimrc
for my vim configurations.zshrc
for my zsh configurationBrewfile
is 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 withbrew bundle dump
.
Setup Scripts
General Setup
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
cd dotfiles
- 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
sh system/set_shell.sh
- do the rest of the setup, like copying over the dotfiles, setting up oh-my-zsh addons, and installing other apps, programs, and tools
sh system/setup.sh
Once that script finished, I’m usually good to go and ready to start working!
Vim setup
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 sh system/vim_setup.sh
.
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!