Dotfiles and command-line tools
This repository contains my "dot" files and other command-line tools. While I may have others that I choose to selectively install in a particular environment, the files in this repository form the baseline and are among the first components to be installed setting up a new environment.
I use Mac OS X as my primary development environment, deploying most frequently to virtualized Debian-based Linux server instances. These tools reflect that set-up, so you may need to change things around to suit your particular environment(s).
You will definitely need:
- a compiler (Xcode for OS X, build-essential for Debian)
- Growl and growlnotify for OS X
You can either manually copy over the files that you find useful, or you can get the whole enchilada in a new environment via one of two bootstrap methods.
The quickest method is to simply copy and paste the following commands into a terminal window.
/bin/bash "$(curl -fsSL https://bitbucket.org/j/cmd/raw/tip/etc/bootstrap.sh)" source ~/tools/etc/link && updatevim
wget -qO /tmp/bootstrap.sh https://bitbucket.org/j/cmd/raw/tip/etc/bootstrap.sh && /bin/bash /tmp/bootstrap.sh source ~/tools/etc/link && updatevim
Slightly more manual method, which requires Mercurial to already be installed:
hg clone https://bitbucket.org/j/cmd ~/tools ./tools/etc/bootstrap.sh source ~/tools/etc/link && updatevim
The prompt-driven bootstrap script should be idempotent, optionally installing tools such as:
- Mercurial and hg-git
- byobu, ctags, and other useful components
- HomeBrew (if host is a Mac)
File and directory structure
In an effort to preserve tool isolation, the bootstrap script will install certain third-party components to
I store my versioned command line tools in a folder (~/tools) that in turn contains several sub-folders (bin etc lib) to help keep the files organized. Since I link (etc/link) the dot files to the root of my home folder, I prefer to store them without the prepended dot ("hgignore" rather than ".hgignore"). I add the dot when creating the symlink. So if you use any of those files, make sure you put the dot back.
~/tools/ bin/ lib/ etc/ vim/
I change these files frequently, and sometimes I may break things that worked just fine beforehand. If you find something that doesn't operate as optimally as it could, please let me know.