Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
My *nix confs
VimL Python Perl JavaScript Shell CSS Other
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
.conky conky file for shell-fm
.i3 make i3bar output clearer and more concise
.irssi remove these scripts from autorun as they seem broken at the moment
.pentadactyl remove `hi clear` since it slows load time
.tmux auto clipboard on enter in tmux copy mode on os x
.vim add remote pry snippet
.vimperator added smoozie back in
.zsh.d add latest version of zsh syntax highlighting
.zsh/git-prompt add git status to the prompt
awesome - change border focus color
.ackrc make ack aware of slim and set up a ruby template type
.bash_profile some RVM goodies
.bashrc some RVM goodies
.commonenv add a bin dir in the current folder to the path
.commonfuncs option to set the prefix
.commonprofile also update with git if possible
.commonrc use xdg-open on linux
.ctags add yaml / salt ctags support
.email_signature current email sig
.gitconfig git push alias for sanity
.gitignore ignore idea directory
.hgrc start of an hgrc file
.inputrc death to bells
.irbrc irb config remove the override of the editor, that wasn't a good idea :)
.pentadactylrc keyboard shortcut to go forward and back in pentadactyl
.pryrc don't use the pager in pry
.psqlrc start of some psql settings
.pydistutils.cfg use https to make pip stop complaining
.pystartup make pystartup Py3 compatible
.reviewboardrc review board is behind ssl now
.screenrc shortcut to match tmux to write paste buffer to file in screen
.tmux.conf auto clipboard on enter in tmux copy mode on os x
.ttytterrc add ttytter config
.vimpagerrc make it so that hjkl navigation works properly
.vimperatorrc set up kick ass to <leader>x (
.vimrc shorter timeout length for vim to make jk easier for esc
.xmodmaprc make control an extra caps lock in X
.zprofile I made a crapload of changes:
.zshenv custom zsh completions path change
.zshprompt fix git status off by one
.zshprompt_dos add rehash to the precmd so that new commands are always available
.zshprompt_simple show all host entries before the domain
.zshrc some RVM goodies
README.mdown bitdeli
authorized_keys dupe key
config ignore powerline cache make sure permissions are correct on auth_keys add support for alternate ssh port to rsync push
servers add subversion servers config


README (aka WTF is this?!?!)

All of these confs were compiled by Clayton Parker, aka claytron. Most of the confs have comments describing why/what is happening.

Get the latest from github


I would strongly urge you not to use my confs directly. I am very picky about things, and this would certainly drive you crazy.

Another item of note is that I use vi editing mode in every place that will allow me to. This is set in the .inputrc and .zshrc. This would likely throw most people off as they are used to the emacs mode. The only issue I've run into with the vi mode is when you move from the end of the line in insert mode. When you try and go back to the end you can't without going to command mode and using a to add to the line.

A little history

To start off, here is a little background. Here in lies years of craziness all compiled into one nice little folder. I've been using the command line since 2003 when I was given a job as a systems administrator. I started on ZSH and have been using it ever since. Recently I decided to compile a set of confs that could be used with either ZSH or Bash (since most machines have at least bash).


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 up on 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


Settings for tmux


VIM settings


All my plugins and other misc. vim stuff


Vimperator settings for the Firefox plugin


Plugins for Vimperator


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'.

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/
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/
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

Since qs is an alias for .dotfiles/ the latest confs are in place.

If you ever want to remove all the symlinks you can use the script by passing it the remove argument

$ .dotfiles/ 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

In addition to the remove argument there is cleanup. This will not only remove all the symlinks, but it will also remove all the other items created by the script. This can be slightly dangerous since that includes everything, including unversioned files.

Bitdeli Badge

Something went wrong with that request. Please try again.