README (aka WTF is this?!?!)
This is a default set of confs that can be modified by you. Have fun!
Here is a list of all the files and a brief explanation of what they do.
Setup some new types for ack. Add to existing types (mainly Plone)
Bash shell login code
Bash interactive shell setup
Common environment settings between Bash and ZSH
Common functions used between Bash and ZSH
Common login code for Bash and ZSH. This includes code to
svn upon each login so that the profile settings stay up-to-date
Common interactive shell setup for Bash and ZSH. This contains all my aliases
Readline configuration. Sets up all my command lines with vi :)
Interactive Python interpreter startup code. I use it to initialize rlcompleter2 or readline with tab completion.
Settings for screen
ZSH shell login code
ZSH environment setup. This includes an awesome PATH setup routine :)
My default ZSH prompt. It's a modified version of Phil's Prompt
A simple version of my prompt that will work when the enhanced characters are not available
ZSH interactive shell code
My default .subversion/config setup. I wish I could set these defaults on the server :(
A shell script that aids in setting up these conf files on every server. It contains an array of all the conf files that need to be symlinked. It will give you some feed back as to what it's linked and what was 'in the way'.
A shell script that configures OS X preferences, and installs programs from Homebrew
Usage in the wild
Here is how I typically set up my shell on a new system. This is assuming subversion is available. You could do something similar with git, but I haven't messed with that yet.
$ svn co https://repo/path/to/dotfiles/trunk .dotfiles $ .dotfiles/create_links.sh linking .screenrc linking .vimrc linking .zshenv linking .zshprompt linking .zshprompt_simple linking .zshrc linking .inputrc linking .bash_profile linking .bashrc linking .commonrc linking .commonenv linking .commonprofile Remove /home/clayton/.subversion/config so that it can be linked linking .pystartup
Notice that it says the .subversion/config is in the way. So let's fix that.
$ rm .subversion/config $ .dotfiles/create_links.sh linking config
Now we are all set. Next time we log in the confs will be updated so that any new changes are added.
$ ssh some-machine dotfiles updated: U .dotfiles/.bashrc At revision 10712. $ qs
qs is an alias for
.dotfiles/create_links.sh the latest confs are in
If you ever want to remove all the symlinks you can use the
script by passing it the
$ .dotfiles/create_links.sh unlink Unlinked /home/clayton/.screenrc Unlinked /home/clayton/.vimrc Unlinked /home/clayton/.zshenv Unlinked /home/clayton/.zshprompt Unlinked /home/clayton/.zshprompt_simple Unlinked /home/clayton/.zshrc Unlinked /home/clayton/.inputrc Unlinked /home/clayton/.bash_profile Unlinked /home/clayton/.bashrc Unlinked /home/clayton/.commonrc Unlinked /home/clayton/.commonenv Unlinked /home/clayton/.commonprofile Unlinked /home/clayton/.commonfuncs Unlinked /home/clayton/.subversion/config Unlinked /home/clayton/.pystartup