Skip to content

nrb/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

README (aka WTF is this?!?!)

This is a default set of confs that can be modified by you. Have fun!

Contents

Here is a list of all the files and a brief explanation of what they do.

.ackrc

Setup some new types for ack. Add to existing types (mainly Plone)

.bash_profile

Bash shell login code

.bashrc

Bash interactive shell setup

.commonenv

Common environment settings between Bash and ZSH

.commonfuncs

Common functions used between Bash and ZSH

.commonprofile

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

.commonrc

Common interactive shell setup for Bash and ZSH. This contains all my aliases

.inputrc

Readline configuration. Sets up all my command lines with vi :)

.pystartup

Interactive Python interpreter startup code. I use it to initialize rlcompleter2 or readline with tab completion.

.screenrc

Settings for screen

.vimrc

VIM settings

.zprofile

ZSH shell login code

.zshenv

ZSH environment setup. This includes an awesome PATH setup routine :)

.zshprompt

My default ZSH prompt. It's a modified version of Phil's Prompt

.zshprompt_simple

A simple version of my prompt that will work when the enhanced characters are not available

.zshrc

ZSH interactive shell code

config

My default .subversion/config setup. I wish I could set these defaults on the server :(

create_links.sh

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

osx_setup

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

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

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

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

About

My dotfiles, many of which originated from @claytron

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages