Dotfiles repo created by Evan Weible, modeled after Zach Holman's dotfiles repo. Provides a bootstrap script for a super quick setup time.
- Generate an SSH key (https://help.github.com/articles/generating-ssh-keys):
mkdir ~/.ssh/ekweible/
ssh-keygen -t rsa -C "[email]"
, enter the directory created above- create a passphrase & write it down
ssh-add ~/.ssh/ekweible/id_rsa
pbcopy < ~/.ssh/ekweible/id_rsa.pub
- GitHub > Account Settings > SSH Keys > Add SSH Key
- Test it out:
ssh -T [email protected]
- Create a dev directory and a directory specifically for config related dev
mkdir ~/dev && mkdir ~/dev/config
- Run
git
and when prompted, click "install" to install the command line developer tools - Install this dotfiles repo:
cd ~/dev/config
git clone [email protected]:ekweible/dotfiles.git
- Create
applications/manifest.json
andgit/repos.json
using the examples as templates if you'd like - Run the bootstrap script:
cd ~/dev/config/dotfiles
sh bootstrap.sh
Everything's built around topic areas. If you're adding a new area to your forked dotfiles — say, "Java" — you can simply add a java directory and put files in there. Anything with an extension of .zsh will get automatically included into your shell. Anything with an extension of .symlink will get symlinked without extension into $HOME, and anything with an extension of .dirsymlink will be symlinked without extension into $HOME/parent/, where parent is the name of the parent directory. For example:
$HOME/.gitignore --> git/gitignore.symlink
$HOME/.pip/pip.conf --> pip/pip.conf.dirsymlink
Run sh bootstrap.sh
from your dotfiles repository.
This is safe to run multiple times, it will not overwrite anything that is already in place.
The bootstrap script runs through a series of steps that setup and configure different parts of your computer, each of which is optional and can be skipped.
- If
git/gitconfig.symlink
is not found, you will be prompted for a username and email and one will be created usinggit/gitconfig.symlink.example
as a template. - If NodeJS is not installed, the NodeJS download page will be opened and you will be asked to rerun the script after installing it.
- Dotfiles will be symlinked to your home directory (every .symlink or .dirsymlink file).
- If pip is missing, it will be installed.
- If virtualenvwrapper is missing, it will be installed.
- Brew will be updated, some default dependencies will be installed, and all dependencies will be upgraded.
- All applications listed in applications/manifest.json will be opened in your browser for you to download.
- Your git repositories will be setup using the git/repos.json file as a map. You can specify workspaces that contain any number of repos, each of which contain an origin, an upstream, and a set of remotes.
- Your default shell will be changed to zsh.