dotfiles
π dotfiles for my macOS environment
Usage
- Introduction
- Installation
- Todo
- Management Tools
- dotfiles
- macOS
- zsh
- node
- vim
- The Terminal
- dev fonts
- alacritty + zsh
- Resources
Introduction
This is my development environment that I use everyday. Dotfiles allow you to backup, restore, and sync your dev environment. This is great, especially if you have more than one workstation or are migrating to a new machine. After much research and observation of how other people manage their dotfiles, what you see in this repo is a reflection of their efforts as well as my own.
I initially started this repo to help myself learn more about the tools available out there for customizing my dev environment. I also wanted to make sure that all my customizations were backed up and could be installed on any machine. As I continued learning, adding, and breaking things, I thought it would be a good idea to document as much as I could to not only learn, but help others in setting up their dotfiles as well. I hope this repo can help newcomers understand their own environment and aid them in their own creation of a dotfile repo. Be aware that I am still learning, so proceed with caution. If you are uncertain about anything, I highly advise you read the source before executing any of these scripts.
If you have any improvements or suggestions, please feel free to submit it here or contact me
Lastly, I have created a minimal dotfile repo for to help new users get started on their own dotfile journey. You can check out the project here: https://github.com/jonleopard/dotfile-starter.
Todo
Installation
Disclaimer: If you decide to use these dotfiles, please fork this repo and review the source code before executing! Proceed at your own risk!
At the moment, this will only work in macOS. I'd love for this to work on linux distros too, feel free to submit a PR!
- Download repo
- via git
- via cURL
- Run scripts <--Currently working on these!
- Automatic: ./install.sh
- Manually: stow [folder]
- Done!
Download and Stage Files
If you are on a new machine, then you might need to install git. You can also use the cURL command. Whatever method you chose, make sure the files get put in your $HOME directory. If you aren't sure where that is, run echo $HOME.
git
cd git clone https://github.com/jonleopard/dotfiles.git && cd dotfiles && chmod +x install.shcURL
cd curl -#L https://github.com/jonleopard/dotfiles/tarball/master | tar -xzvIf you prefer, you can skip the install.sh script and run stow manually. Just tell stow which dotfiles you want to symlink:
stow example_folder
Mangement Tools
dotfiles - gnu stow
There are so many flavors when it comes to dotfile management. I wanted something lightweight and that could run in any *nix environment with little to no dependencies.
All my dotfiles are managed with the extremely light weight GNU Stow. Basically, stow creates & manages symlinks to files that are located in the home directory. This allows me to keep everything in an organized folder called 'dotfiles'. If you are interested in learning more about stow, I wrote a brief post about it here
macOS - Homebrew
Homebrew and Macports are pretty much the only mainstream options here. I went with Homebrew. I'm using Homebrew-Cask which will go out and install all of the applications that I tell it to. mas will install all of your Mac App Store apps. All of this is bundled in a list called a Brewfile.
node - n
n allows me to switch between different node versions on the fly. I've installed n via n-install. Also, on the topic of node, I've installed yarn globally via brew install yarn --ignore-dependencies (allows for yarn to plug into your node binary that n installed).
zsh - antibody
antibody has been my favorite zsh plugin mananger for a couple years now. The author has a great post on shell performance which I highly recommend if you are interested in speeding up your shell spawn times. It's written in go, so make sure you have go installed on your system.
tmux - tpm
tpm (which stands for tmux plugin manager) is a great little that has zero dependencies. Be sure to check out the plugin directory.
neovim - vim plug
vim-plug manages all of my vim plugins. It pairs nicely with Neovim.
The Terminal
alacritty + zsh
As you could have guessed by now, I am using zsh instead of bash as my unix shell. Alacritty is my terminal emulator and Pure Prompt is the shell prompt.
Dev Fonts
Below is a list of some of my favourite dev fonts that go great in your terminal, IDE, Text Editor, etc...
If you need a Powerline font, a list of those can be found here: Powerline Fonts. You could also check out the Nerd Fonts repo for a list of patched fonts and install them via homebrew.
Wallpapers
I've been working a collection of my favorite wallpapers over the years. If you are interested, you can grab the bundle here.
Resources
- GNU Stow
- Dotfile Repos
- Fonts

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.


