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:
- .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.
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!