My *nix confs
JavaScript Vim script Shell Perl Python Lua Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
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 remove old option Jan 6, 2017
.vim switch over to autoformat to clean up with linters Jan 6, 2017
.vimperator added smoozie back in May 8, 2010
.Xmodmap caps lock as ctrl Nov 30, 2016
.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 qt5 executable path Nov 30, 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 a better branch backup mechanism Nov 30, 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
.pentadactylrc change up bookmark calls slightly Dec 13, 2016
.pryrc load all of Rails if possible Dec 13, 2016
.psqlrc start of some psql settings Feb 18, 2014
.pydistutils.cfg use https to make pip stop complaining Sep 4, 2014
.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 switch from ack to grepper plugin Jan 6, 2017
.vimpagerrc make it so that hjkl navigation works properly Sep 13, 2012
.vimperatorrc set up kick ass to <leader>x ( Sep 28, 2010
.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
.zshrc make alias highlight legible Aug 25, 2016
authorized_keys dupe key May 19, 2014
config ignore powerline cache Apr 19, 2012 use git Sep 6, 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.