Find file
Fetching contributors…
Cannot retrieve contributors at this time
executable file 152 lines (107 sloc) 3.55 KB

SnapInteractive's dotfiles


Install dotfiles with Git

You can clone the repository wherever you want, the home directory is recommended.

The bootstrapper script will create symlinks in the home directory to the proper files.

When the git repo is updated, the files will be automatically updated when the session is restarted.

cd; git clone .dotfiles && cd .dotfiles && ./

To update later on, just run git pull in ~/.dotfiles.

Install dotfiles without Git

To source these files, type:

cd; mkdir ~/.dotfiles 2> /dev/null && curl -#L | tar -C ~/.dotfiles -xzv --strip-components 1 && cd ~/.dotfiles && ./

To update later on, just run that command again, and will create backups to the current files with a *.bak extension.

Additional options

Including .gitconfig in the setup with the --git options in the bootstrap

cd; git clone .dotfiles && cd .dotfiles && ./ --git

Including .vim and .vimrc in the setup with the --vim options in the bootstrap

cd; git clone .dotfiles && cd .dotfiles && ./ --vim

Including all options

cd; git clone .dotfiles && cd .dotfiles && ./ --vim --git

Add custom commands

If ~/.bash_local_exports exists, it will be sourced before the includes are sourced.

If ~/.bash_local exists, it will be sourced after the includes are sourced.

The Bash Prompt

[exitstatus jobs time load user@host workdir<dirinfo> (git info)]user symbol

The prompt

[06:00:00 0.00 user#host dir<4|2.4Mb> (master %)]λ 
[(E:1) 06:00:00 0.00 user#host dir<4|2.4Mb> (master %)]λ 
[(E:1) bg:2 06:00:00 0.00 user#host dir<4|2.4Mb> (master %)]λ 

When on ssh

on ssh ------------┐
[06:00:00 0.00 user@host dir<4|2.4Mb> (master %)]λ 

When logged in as root user

as root -----------------------------------------┐
[06:00:00 0.00 root@host dir<4|2.4Mb> (master %)]μ 

When sudo'd

as sudo ----------------┐
[06:00:00 user@host dir]π 

When on screen

in screen [screen name] -----------┐
[06:00:00 0.00 user@12345.pts-01.host01 dir<4|2.4Mb> (master %)]λ 

PS2 prompt

[06:00:00 0.00 user#host dir<4|2.4Mb> (master %)]λ a '\
→ bcd'

When on screen host is replaced with session name and is underlined.

load = cpu% on cygwin

load = 1 min load avg on *nix/osx

Custom options for the PS1

Place these options in ~/.bash_local_exports

Turn off the load indicator (speeds up the cygwin prompt by a bit)

export _PS1_HIDE_LOAD=1

Turn off the directory info

export _PS1_HIDE_DIR_INFO=1

Monochrome prompt

export _PS1_MONOCHROME=1

The MySQL client Prompt

user@host [database]→ 

The Mongo client Prompt

state[repl]#host [database]> 


If using the gitconfig included in this repository, it is recommended that the user specific configurations be included in environment variables in ~/.bash_local_exports for portability.

# git based configurations for portable .gitconfig
cd; ln -s ~/.dotfiles/.gitconfig