My *nix confs
JavaScript VimL Shell Perl Python Lua Other
Failed to load latest commit information.
.conky conky file for shell-fm Apr 22, 2010
.i3 get fancy with the scratchpad in i3 May 18, 2015
.irssi remove these scripts from autorun as they seem broken at the moment Jan 21, 2013
.pentadactyl remove `hi clear` since it slows load time Feb 15, 2015
.tmux fix up normalizing warning Sep 6, 2016
.vim words Sep 23, 2016
.vimperator added smoozie back in May 8, 2010
.zsh.d add latest version of zsh syntax highlighting Mar 27, 2013
.zsh/git-prompt better output of git status Nov 9, 2015
.ackrc ignore ctag files Dec 10, 2015
.bash_profile the linter hath been pleased Nov 9, 2015
.bashrc fzf all the things Dec 27, 2015
.commonenv allow for MacTex to work May 25, 2016
.commonfuncs script to easily navigate git stashes using fzf Jan 8, 2016
.commonprofile the linter hath been pleased Nov 9, 2015
.ctags add yaml / salt ctags support Nov 18, 2014
.editrc enable vi mode in irb and pry May 25, 2016
.email_signature current email sig Jun 3, 2011
.gemrc no rdoc when installing gems Sep 28, 2016
.gitconfig set diff.renameLimit to allow for more log searching Aug 25, 2016
.gitignore link for neovim Mar 15, 2016
.hgrc start of an hgrc file Oct 23, 2010
.inputrc no longer used to exit insert mode Jul 5, 2016
.irbrc silently fail to load extensions Apr 14, 2015
.mdlrc ignore angle bracket rule Apr 12, 2016
.my.cnf fix up the comment color in pdb++ Apr 14, 2015
.pryrc cleaner version of repeat last command Sep 6, 2016
.psqlrc start of some psql settings Feb 18, 2014
.pydistutils.cfg use https to make pip stop complaining Sep 4, 2014
.pystartup make pystartup Py3 compatible Feb 15, 2015
.reviewboardrc review board is behind ssl now Sep 16, 2010
.rubocop.yml rubocop defaults Apr 12, 2016
.screenrc shortcut to match tmux to write paste buffer to file in screen Feb 28, 2014
.tmux.conf fix up normalizing warning Sep 6, 2016
.ttytterrc add ttytter config Apr 2, 2011
.vim_plugins.vim add and configure vim-test Jul 5, 2016
.vimpagerrc make it so that hjkl navigation works properly Sep 13, 2012
.vimperatorrc set up kick ass to <leader>x ( Sep 28, 2010
.vimrc shortcut for :Gblame Sep 6, 2016
.xmodmaprc make control an extra caps lock in X Apr 2, 2011
.zprofile I made a crapload of changes: Apr 28, 2009
.zshenv custom zsh completions path change Apr 8, 2014
.zshprompt make prompt look less goofy May 26, 2015
.zshprompt_dos add rehash to the precmd so that new commands are always available Nov 18, 2011
.zshprompt_simple show all host entries before the domain Mar 5, 2014
README.mdown remove qs alias as it conflicts with another program Apr 18, 2016
config ignore powerline cache Apr 19, 2012 symlinks for neovim Mar 15, 2016
servers add subversion servers config Nov 30, 2011



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


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. At some point I decided to compile a set of confs that could be used with either ZSH or Bash (since most machines have at least bash).

Usage in the wild

Here is how I typically set up my shell on a new system.

$ git clone
$ .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.

This puts the latest confs are in place and activates the changes.

$ && source ~/.zshrc

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.