Some of my configuration files for linux tools like bash, vim, screen, git, etc.
Vim script Shell
Switch branches/tags
Nothing to show
Pull request Compare This branch is 3 commits ahead, 199 commits behind jdevera:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Jacobo de Vera's Dot Files

These are the configuration files I want to have in every Linux box I use.


Installation instructions come first because it is what I need most of the time, but if you are not me, please read on :)

git clone git:// ~/.dotfiles
cd ~/.dotfiles
bash install


Most files handle Bash or Vim configuration, but I also share my settings for GNU Screen and Git.

My git configuration file is actually a generator (more on this below).

My Vim configuration directory includes all the plug-ins I have installed.

Configuration file generators

There are some configuration files, such as .gitconfig that might contain sensitive data or that have contents that vary across different machines. For these cases, I don't directly store the configuration file, but a generator for it.

These generators very are simple bash scripts that contain a template for the file they generate. The values for variable fields are requested during execution or they can be provided with environment variables for unattended installation.

Bash configuration

My bash configuration files live in the .bash.d directory.

My .bashrc. sources configuration files in this order:

  • Every file under .bash.d/local/before
  • Every file under .bash.d
  • Every file under .bash.d/local/after

Contents of .bash.d/local are not tracked by git, so this is the place to add configuration files that are specific for the current machine.

Vim configuration

I am using Gmarik's Vundle Vim plug-in to manage my Vim add-ons and keep them up to date.

With Vundle, I only have to point, in my .vimrc file, to the git repositories of all the Vim add-ons I want to have installed and it takes care or the rest. Vundle clones each add-on under its own directory and adds it to Vim's runtime path.

All add-ons in the official Vim's website are actively mirrored in github by the project. This means Vundle can be used to install any add-on published in the official site.