My dotfiles
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

These are my dotfiles.

The things you might be able to use the most are (and

I've also tried to add machine-specific configuration options at the end of all relevant files (.vimrc and .bashrc are the two big ones, although there might be others).

$(dirname "$0")-private

For things that you don't want tracked on Github, I've added a "*-private" directory. It is named whatever this repo is, with -private tacked on the end. Dotfiles in there are sourced much like the files in this repo. I have my Password Gorilla database in there, and it might make sense to have a "machines/" directory in there as well (although that is not currently supported).

How can I use this repo?

If you want to follow my directory structure, do this:

mkdir ~/.tools/
pushd ~/.tools/
git init
git submodule add configs
mkdir configs-private  # If you actually need this
git commit -m "Added blast-hardcheese's awesome dotfiles"

If you don't want to follow my directory structure, do something else:

git clone ~/.blast-dotfiles/
mkdir ~/.blast-dotfiles-private

Or just take,, and and do your own thing (it's really OK).

Useful things


This provides some support for managing ssh-agent sockets. Tested and used for years on both Linux and OSX.

as_start: Start an ssh-agent and register it
as_use: Use a registered ssh-agent
as_register: Write the contents of SSH_AUTH_SOCK into the appropriate place
as_revert: If you want to revert back to what socket you were using _before_
           as_use, use this. Useful for if you ssh -A to a box that already
           has ssh-agent running, but you want to use your forwarded agent.


wmii-style tag support for i3. Mod+t to tag your windows with whatever workspace name you want!


Reasonably flexible tmux workspace generation! Examples are in work and vocities, and a somewhat helpful error text is displayed on stderr when run directly (as it is intended to be sourced into another script that provides configuration information. If necessary, the tmux_after function can be defined before sourcing _tmux_start-session, in order to customize environment startup before attaching. NOTE: These names are not noconflicted, so their names may change in the future.


If any of this helped you in any way, I'd really appreciate an email! If something's broken, open an issue or send a pull request! If you take any or all of,, and and do something cool, let me know!