If you don’t already have a huge collection of dotfiles simply run the installer and follow the prompts:
git clone git://github.com/thcipriani/dotfile-boilerplate ~/.dotfiles
cd ~/.dotfiles
./bootstrap --new-setup
bootstrap
will guide you through the setup of sensible defaults for your system.
All files in the ~/.dotfiles
directory (and any subdirectory that is a direct descendant
of the ~/.dotfiles
directory) that follow the format *.symlink
will be symlinked in
your $HOME
directory.
~/.dotfiles/*/*/basename.symlink → ~/.basename
If you’ve already accumulated a large collection of dotfiles, this repository should create a very configurable and portable profile that you can host on github, bitbucket, dropbox, s3 or wherever.
The main files you’ll want to change are:
~/.dotfiles/profile.d/aliases.symlink
~/.dotfiles/profile.d/exports.symlink
~/.dotfiles/profile.d/functions.symlink
~/.dotfiles/profile.d/extra.symlink
Each of those are meant to hold and bash aliases, exported variables, unique functions or other configuration, respectively.
In addition to those files, be sure to modify any files in ~/.dotfiles
which may
overwrite configurations that you’d like to keep.
Yep. We do that.
In addition to the files in the ~/.dotfiles/shell
directory there are
system-specific copies of all the shell
files in their respective
system folders—osx
for Macs and linux
for Linux machines.
The goal is to have a single, unified, dotfile repo for all the systems on which you work.
By default Dotfile Boilerplate includes config files for:
- bash (including
.bash_profile
,.bashrc
and.bash_prompt
) - zsh
- vim (both
.vimrc
and.vim/
directory with Pathogen) - tmux
- ack
.inputrc
These configurations where amalgamated from various sources which are, largely (hopefully), indicated in-line in the actual config file.
If you already have an ~/.*rc
file for a program, Dotfile Boilerplate’s
bootstrap
won’t simply overwrite that file—you’ll be
prompted if you want to [s]kip
that config, [b]ackup
that config (saving
it to ~/.[whatever].backup
OR simply [o]verwrite
the existing file.
Dotfile Boilerplate detects your system-type and will only link items
from the osx
folder if you’re on a Mac—likewise
for the linux
directory on linux.
Dotfile Boilerplate also detects shell-type and won’ link anything
from the zsh
directory if you’re using bash—likewise if you’re
using Z-Shell, it won’t install anything from the bash
directory.
bootstrap
is also able to semi-intelligently a small collection of dotfile frameworks.
To be prompted to install new frameworks simply run bootstrap with the --new-setup
option.
If you run the bootstrap script with the --new-setup
flag you may—depending on your current configurations—be
prompted to install some shell frameworks (Oh-My-ZSH for Z-Shell users
and Bash-It for Bash users).
If you already have these frameworks installed in their default locations—Dotfile Boilerplate will proceed with the remainder of the installation without prompting you to reinstall these frameworks.
In addition to these shell frameworks if your ~/.dotfiles/vim/.vimrc
is LESS
THAN 10 lines AND you have curl
, ack
, ctags
, git
, ruby
, and rake
in your
$PATH
you will be prompted to install the Janus Vim Framework