Skip to content
Bash, Python, IPython scripts, and userspace configuration
Shell Python Groff Makefile VimL CSS Other
Latest commit dc671a9 @westurner Merge branch 'release/0.8.2'
* release/0.8.2:
  BLD: Makefile: pip install -r ./docs/requirements.txt
  UBY: docs/_static/css/local.css: #sidebar-wrapper max-width:25%
  RLS: autogenerated git_manifest
  DOC: autogenerated usage docs
  DOC: autogenerated usage docs
  RLS: VERSION.txt: 0.8.2
  RLS: CHANGELOG.rst: v0.8.2
  ENH: etc/i3/config: Start gnome-settings-daemon (e.g. for anti-aliasing)
  BUG: x-www-browser -> web (system lockup from xdg-open loop)
  REF,BUG: CONDA_ENVS_PATH, _setup_venv_prompt, _virtualenvwrapper_get_step_num, _setup_virtualenvwrapper_dotfiles_config, _setup_virtualenvwrapper_dotfiles_config, wec/workon_conda completion, and only load virtualenvwrapper once
  UBY,ENH: scripts/ Bootstrap CSS (table-striped table-hover)
  DOC: scripts/ docstrings
  ENH: scripts/ SELECT * from * > *.{html,json,csv}; index.html
  SEC,BUG: shell_escape_single in dotfiles_status() (ds())
  BUG: css/leftnavbar.css: max-width: 25% to fix flicker
  DOC,BLD: html_link_suffix = '' (see: pgs)
Failed to load latest commit information.
debian BLD,TST,DOC,ENH: Settings, Makefile,, i3, script
docs UBY: docs/_static/css/local.css: #sidebar-wrapper max-width:25%
etc ENH: etc/i3/config: Start gnome-settings-daemon (e.g. for anti-aliasing)
requirements DOC,BLD: remove github-tools
scripts DOC: autogenerated usage docs
src REF,BUG: CONDA_ENVS_PATH, _setup_venv_prompt, _virtualenvwrapper_get_…
tests TST: TODO
.gitignore CLN: .gitignore: .DS_Store
.hgignore BLD,BUG: remove from .hgignore
.hgtags Added tag osx_master for changeset 267b5cd3fb0b
.travis.yml BLD,TST: update .travis.yml: add cache: apt
LICENSE DOC: LICENSE, ^top^ link in footer RLS: autogenerated git_manifest
Makefile BLD: Makefile: pip install -r ./docs/requirements.txt
README.rst DOC: README.rst: remove :ref: roles, reformat links
VERSION.txt RLS: VERSION.txt: 0.8.2
buildout.cfg Importing dotfiles packaging
requirements-all.txt BUG,TST,BLD,DOC: make tests pass
requirements.txt BLD: tox.ini: +pip, requirements.txt: +#comments BLD,TST,DOC,ENH: Settings, Makefile,, i3, script
setup.cfg Adding blank setup.cfg and removing auto-generated WIP:, venv ~rewrite
tox.ini BLD: tox.ini: +pip, requirements.txt: +#comments



GitHub | Documentation | ReadTheDocs


  • Streamline frequent workflows
  • Configure Bash, ZSH, and Vim
  • Configure Python, pip, virtualenv, virtualenvwrapper
  • Configure IPython
  • Configure Gnome
  • Configure i3wm
  • Support Debian Linux, Ubuntu Linux, OSX
  • Document commands and keyboard shortcuts
  • Create a productive working environment



Project requirements are installed by and/or, optionally, also a Makefile.

  • Bash, Git, Python, pip

Install the dotfiles

The shell script:

  • clones the dotfiles and dotvim repositories
  • creates symlinks from HOME to __DOTFILES,
  • installs the dotfiles Python package,
  • installs additional requirements with pip
bash ./scripts/ -I -R

Create a virtualenv with virtualenvwrapper named "dotfiles":

# Install virtualenvwrapper
pip install virtualenvwrapper   # apt-get install python-virtualenvwrapper
source $(which '')    #

export WORKON_HOME="~/-wrk/-ve27"                    # __WRK/-ve python2.7
mkdir -p $WORKON_HOME

# Create a virtualenvwrapper virtualenv
mkvirtualenv dotfiles  # workon dotfiles
mkdir $VIRTUAL_ENV/src

# Clone the dotfiles git repository
branch="master"     # stable
# branch="develop"  # development
git clone ssh:// -b ${branch}
cd dotfiles

# Install dotfiles pkg, symlinks, and extra pip requirements
scripts/ -I -R         # -I calls -S

With Python builds that haven't set a prefix which is writeable by the current user, you can also install into ~/.local with pip --user:

# (Optional) Also install pkg and reqs into ~/.local/bin (pip --user)
# scripts/ -I -R -u


See Quickstart, which uses venv-style paths.

Source the dotfiles

  • Bash (and ZSH) configuation sets are sequentially numbered 00-99. sources a documented, numerically sequential sequence of bash scripts.

  • ZSH loads much of the standard Bash configuration and oh-my-zsh.

  • -S installs dotfiles ${__DOTFILES} symlinks.

    ln -s ~/-dotfiles/etc/.bashrc ~/.bashrc
    ln -s ~/-dotfiles/etc/.zshrc ~/.zshrc
# Source the dotfiles
source ~/.bashrc                                         # source ~/.zshrc

# source ${__DOTFILES}/etc/.bashrc
## source ${__DOTFILES}/etc/bash/     # dotfiles_reload
### dotfiles configuration sequence                # (\d\d)-bashrc.(.*).sh
#### source ${__DOTFILES}/etc/bash/
##### source ${__PROJECTSRC}                     # ${__WRK}/

# print venv configuration
Last login: Tue Dec  2 15:01:56 on ttys000
# dotfiles_reload()
#ntid  _TERM_ID="#SElGeTf5VcA"  #_USRLOG="/Users/W/-usrlog.log"
# dotfiles_status()
# cd /
#SElGeTf5VcA W@nb-mb1:/
$ stid 'dotfiles'
#stid  _TERM_ID="dotfiles"  #_TERM_ID__="dotfiles install"  #_USRLOG="/Users/W/-usrlog.log"
# stid 'dotfiles'
dotfiles W@nb-mb1:/

Upgrade the dotfiles

# check for any changes to symlinked dotfiles
cdd                                                   # cddotfiles
git status && git diff                                # gsi ; gitw diff

# pull and upgrade dotfiles and dotvim
scripts/ -U


This is a verbose example of installing and working with a VIRTUAL_ENV in WORKON_HOME named "dotfiles".

See Install the dotfiles for more terse installation instructions.

# clone and install dotfiles and dotvim
# with venv-style paths (_SRC, _APP, _WRD)

# __WRK             -- base path for workspace               [venv]
cd $__WRK                     # cdwrk                        [venv]

# WORKON_HOME       -- path to virtualenv dirs  [virtualenvwrapper]
WORKON_HOME="${__WRK}/-ve27"  # ~/-wrk/-ve27
test -d ${WORKON_HOME} || mkdir -p ${WORKON_HOME}
cd $WORKON_HOME               # cdworkonhome cdwh cdve       [venv]

# VIRTUAL_ENV_NAME  -- basename for VIRTUAL_ENV              [venv]

# VIRTUAL_ENV       -- current virtualenv path         [virtualenv]
cd $VIRTUAL_ENV               # cdv cdvirtualenv [venv, virtualenvwrapper]

# _SRC              -- basepath of source repositories (e.g. for pip)
cd $_SRC                      # cdsrc cds                    [venv]

# _APP              -- basename of current working directory [venv]

# _WRD              -- working directory path                [venv]
_WRD="${_SRC}/${_APP}"        # cdwrd cdw                    [venv]

git clone $_WRD
git clone ${_WRD}/etc/vim
cd $_WRD                      # cdwrd cdw                    [venv]

# __DOTFILES        -- symlink root for current dotfiles     [venv]
ln -s $_WRD $__DOTFILES
ls ~/-dotfiles
cd $__DOTFILES                # cddotfiles cdd               [venv]

## Install the dotfiles
$_WRD/scripts/ -h      # help
$_WRD/scripts/ -I      # or: make install
$_WRD/scripts/ -S      # or: make install_symlinks

For further documentation, see:

Further Dotfiles Resources

Something went wrong with that request. Please try again.