Skip to content


Subversion checkout URL

You can clone with
Download ZIP
My *nix confs
VimL Python JavaScript Shell Perl CSS Other
Branch: master
Failed to load latest commit information.
.conky conky file for shell-fm
.i3 get fancy with the scratchpad in i3
.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 latest syntastic
.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 ignore some generated files with ack
.bash_profile some RVM goodies
.bashrc some RVM goodies
.commonenv add rbenv to the path
.commonfuncs everything is local these days
.commonprofile also update with git if possible
.commonrc vagrant aliases
.ctags add yaml / salt ctags support
.email_signature current email sig
.gitconfig quick way to make a backup of a branch
.gitignore ignore idea directory
.hgrc start of an hgrc file
.inputrc jk as ESC anywhere
.irbrc silently fail to load extensions
.my.cnf mysql prompt setup fix up the comment color in pdb++
.pentadactylrc conditionally remove alltabs button
.pryrc rubocop'd
.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 hold control and do the action
.ttytterrc add ttytter config
.vimpagerrc make it so that hjkl navigation works properly
.vimperatorrc set up kick ass to <leader>x (
.vimrc use rubocop if available
.xmodmaprc make control an extra caps lock in X
.zprofile I made a crapload of changes:
.zshenv custom zsh completions path change
.zshprompt make prompt look less goofy
.zshprompt_dos add rehash to the precmd so that new commands are always available
.zshprompt_simple show all host entries before the domain
.zshrc append to zsh history after idling for so long
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.