Some of my configuration files for linux tools like bash, vim, screen, git, etc.
Vim script Shell Python
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bash.d
vim
.gitignore
README.mkd
TODO.mkd
Xmodmap
Xresources
bashmarks.tpl
bashrc
emacs
gitconfig
gitconfig.user.tpl
install
pystartup
screenrc
tmux.conf
vimrc

README.mkd

Jacobo de Vera's Dot Files

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

Installation

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://github.com/jdevera/dotfiles ~/.dotfiles
cd ~/.dotfiles
bash install

Contents

Most files handle Bash or Vim configuration, but I also share my settings for GNU Screen, Tmux, Git, Emacs, the Python interpreter, and others.

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

My Vim configuration will install 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 Junegunn Choi's Vim-Plug to manage my Vim plug-ins and keep them up to date.

With Vim-Plug, 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. Vim-Plug 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 Vim-Scripts.org project. This means Vim-Plug can be used to install any add-on published in the official site.

Emacs configuration

I use el-get to manage all the Emacs packages that I want installed.

With the right configuration, I simply have to open Emacs and the packages will be installed if they are not already.