Organize and share your *nix dot files
VimL Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.profile updates Oct 6, 2010
.vimrc Implement path-prefix shell command Oct 24, 2010


DotDotDot - A technique for managing Unix "dot" files.

== NOTE ==

See first.

'...' is a command for managing and installing your dot file repositories.


This is a repository of common Unix dot/config files like .bashrc and .vim, etc. They are intended to work with the '...' installation program.

This is an attempt to DRY ( up the management of these files.

You are encouraged to (GitHub) fork this project and tailor it to your needs. I'll keep an eye on the various forks and merge the good features back here.

To understand how to use and configure this stuff correctly in multiple environments, see CONFIGURATION section below.



To use this project:

    > cd $HOME                          # Go home
    > git clone     # Install ...
    > .../bin/... backup                # Backup your old dot files
    > cd .../src/                       # Where your repos (like this one) go
    > git clone     # Git this
    > cd ..                             # Go back
    > cp conf.example conf              # Create a working conf
    > edit conf                         # Configure ...
    > .../bin/... install               # Install your dot files!
    # Now ... is in your PATH
    > ... help                          # Get help on more ... commands


When you configure a new machine, most of the settings are common to all your machines. Some are machine specific and some are user specific. To make these files work for all situations, DotDotDot uses the $USER and $LOCAL environment variables. For instance, say you are setting up a Macbook. Your `.bashrc` file would source these files:

    .bashrc-common                      # Your common settings
    .bashrc-local                       # export $LOCAL to 'macbook'
    .bashrc-$LOCAL                      # Your macbook settings
    .bashrc-$USER                       # Your personal settings

You should create your own, one-line `.bashrc-local` file that contains:

    export LOCAL=macbook


Unix config files have always been very adhoc, and personal. This is finally an attempt to make them simple, sharable and managable.

That said, this project is very grass roots, and based on my own personal settings. I use Bash and Vim. Maybe you use Zsh and Emacs. Everything here is fairly straightforward, but make sure you know what you are getting into before you try this.

With a little bit of smarts, we can work together to make everyone happy.


You need to be wise about not putting sensitive information like passwords, into a public repository. You have been warned.


Copyright 2010. Ingy dot Net

This is open software. Feel free to copy and use it for any purpose.