Skip to content

Latest commit

 

History

History
99 lines (69 loc) · 3.76 KB

getting_started.md

File metadata and controls

99 lines (69 loc) · 3.76 KB

Getting Started with Dotfile Boilerplate

Quick Start

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

How it works

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.

Files to tweak

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.

Some Configs for OSX, Other Configs for Linux

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.

Default Configs

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.

Semi-Intelligent

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.

Prompts

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