To install into your home directory (will only work if ~/dotfiles
directory doesn't exist):
git clone --recursive [email protected]:3xp0n3nt/dotfiles.git ~/dotfiles
Most of my vim plugins are git submodules. See below. Git submodules are recursive in nature. The --recursive
flag tells git to recursively clone into any submodule directories, any submodules of submodules, and so on. Without this flag, all submodule directories would be empty.
Then symlink the files into your $HOME directory, prepending a dot to each one. For example:
cd ~
ln -s dotfiles/bash_profile .bash_profile
I plan to write an installation script in the future.
Most of my vim plugins are git submodules, loaded automatically by the pathogen plugin from the vim/bundle subdirectory. Interestingly, pathogen itself is a git submodule inside vim/bundle. You can learn more here. The author of pathogen, Tim Pope, calls this setup "getting crazy." And he doesn't like to get crazy. But I do ;-).
To update all of vim's submodule plugins at once:
cd dotfiles
git submodule foreach git pull
gitignore_global
cannot be displayed properly in the GitHub preview window ever since I added two literal ^M
(aka \r
, or carriage return) characters to the OS X Icon
rule, so that git will correctly ignore OS X-generated Icon\r
files (that deceptively appear as
Icon?
's). You can check out this blog post for more
information. (Side note: to create a literal ^M
in vim, type <ctrl>v <ctrl>m
from insert mode.)
You can view my gitignore_global
correctly in it's raw form (although you still won't be able to see the literal ^M
's.).
To apply custom OS X settings, run
./.osx
~/.extra
will be sourced in bash_profile if it exists. This is where you can keep personal settings that shouldn't be uploaded to a public repository. For example:
GIT_AUTHOR_NAME="Your Name"
GIT_COMMITTER_NAME="$GIT_AUTHOR_NAME"
git config --global user.name "$GIT_AUTHOR_NAME"
GIT_AUTHOR_EMAIL="[email protected]"
GIT_COMMITTER_EMAIL="$GIT_AUTHOR_EMAIL"
git config --global user.email "$GIT_AUTHOR_EMAIL"
Many of these dotfiles are customized for OS X Snow Leopard. You may need to modify them for your specific os.
My collection of dotfiles is still in its infancy. I am inspired, however, by Mathias Bynens' impressive collection of collaborative dotfiles.
This README file is named README.markdown
to indicate that it uses GitHub-flavored markdown.