These dotfiles are focused around topics. For example, everything under the python/
directory pertains to configuring Python utilities like pip
and asociated environment variables. Any file ending in .symlink
will be symlinked into the home directory preceded by a .
and without the .symlink
suffix. For example, gitconfig.symlink
will be symlinked as $HOME/.gitconfig
. Any env.sh
files will be sourced in your shell.
bin/
: Anything inbin/
will get added to$PATH
and made available anywhere<topic>/env.sh
: Anyenv.sh
files in a topic folder are sourced in your login shell. This is a good place to put topic-specific environment variables,$PATH
additions, or source other scripts.topic/install.sh
: Anyinstall.sh
files in a topic folder will be executed when runningscript/install
. These scripts are used for doing any installation tasks beyond creating symlinks. Any time you run bootstrap these will be run.topic/*.symlink
: Any file or directory ending in*.symlink
will be symlinked in$HOME
without the*.symlink
extension and preceded by a.
. For example,ssh.symlink/
will get symlinked as$HOME/.ssh/
andpython/pypirc.symlink
will get symlinked as$HOME/.pypirc
.
These dotfiles are meant to be useful as is, but you will have the best experience by forking this repo and making it your own by adding topic folders and keeping your changes in version control. To use, run the following:
git clone <repo url> ~/.dotfiles
cd ~/.dotfiles
script/bootstrap.sh
Right now, the bashrc sources the login shell .bash_profile
which isn't ideal. I'm mulling around the idea of moving most things from .bash_profile
into .bashrc
but one thing at a time.
The general idea of this dotfiles repo was borrowed liberally from https://github.com/holman/dotfiles.