From 0afbfaee75e8480e8e0ed0a3bbd3749a4756f727 Mon Sep 17 00:00:00 2001
From: franck cuny <franck@lumberjaph.net>
Date: Fri, 10 Sep 2010 23:25:10 +0200
Subject: initial import

---
 _posts/2008-06-27-dotfiles-and-scm.textile | 55 ++++++++++++++++++++++++++++++
 1 file changed, 55 insertions(+)
 create mode 100644 _posts/2008-06-27-dotfiles-and-scm.textile

(limited to '_posts/2008-06-27-dotfiles-and-scm.textile')

diff --git a/_posts/2008-06-27-dotfiles-and-scm.textile b/_posts/2008-06-27-dotfiles-and-scm.textile
new file mode 100644
index 0000000..1868df9
--- /dev/null
+++ b/_posts/2008-06-27-dotfiles-and-scm.textile
@@ -0,0 +1,55 @@
+---
+layout: post
+category: app
+title: Dotfiles and SCM
+---
+
+All my dotfiles are stored in a SCM. Most of the time I'm on my main computer, but I can be working on a server or a different workstation. In this case, I like to have all my configurations for zsh, vim, screen, etc.
+
+So, instead of copying my files over different computers, I put everything in a private repostiroy, and when I'm on a new computer, I just have to checkout it.  If I do a modification on a machine, I just need to commit it, and I can have the modification everywhere else.  
+
+I've got a $HOME/dotfiles directory, which is versionned (with git in my case). All my configurations file are stored here.
+
+In this directory, as I'm avery lazy person, I've created a Makefile. Each time I create a new file, I add it to the makefile at the same time. The content of the Makefile is the following: 
+
+bc. DOTFILES := $(shell pwd)
+all: shell  code perl plagger web
+shell:
+ln -fs $(DOTFILES)/zshrc          ${HOME}/.zshrc
+ln -fns $(DOTFILES)/zsh.d       ${HOME}/.zsh.d
+ln -fs $(DOTFILES)/inputrc      ${HOME}/.inputrc
+ln -fs $(DOTFILES)/screenrc     ${HOME}/.screenrc
+ln -fns $(DOTFILES)/screen      ${HOME}/.screen
+ln -fs $(DOTFILES)/profile      ${HOME}/.profile
+ln -fs $(DOTFILES)/gnupg          ${HOME}/.gnupg code:
+ln -fs $(DOTFILES)/vimrc           ${HOME}/.vimrc
+ln -fs $(DOTFILES)/gvimrc        ${HOME}/.gvimrc
+ln -fns $(DOTFILES)/vim          ${HOME}/.vim
+ln -fs $(DOTFILES)/ackrc           ${HOME}/.ackrc
+ln -fs $(DOTFILES)/gitignore ${HOME}/.gitignore
+ln -fs $(DOTFILES)/gitconfig ${HOME}/.gitconfig
+ln -fs $(DOTFILES)/psqlrc        ${HOME}/.psqlrc perl:
+ln -fs $(DOTFILES)/proverc    ${HOME}/.proverc
+ln -fs $(DOTFILES)/pause      ${HOME}/.pause
+ln -fs $(DOTFILES)/perltidyrc ${HOME}/.perltidyrc
+ln -fns $(DOTFILES)/module-starter ${HOME}/.module-starter plagger:
+ln -fns $(DOTFILES)/plagger ${HOME}/.plagger web:
+ln -fns $(DOTFILES)/irssi                 ${HOME}/.irssi
+ln -fns $(DOTFILES)/vimperator  ${HOME}/.vimperator
+ln -fs $(DOTFILES)/vimperatorrc ${HOME}/.vimperatorrc
+ln -fs $(DOTFILES)/flickrrc       ${HOME}/.flickrrc
+ln -fs $(DOTFILES)/rtorrent.rc  ${HOME}/.rtorrent.rc
+
+So next time I want to deploy my dotfiles on a new computer, I can do
+
+{% highlight vim %}
+make all
+{% endhighlight %}
+
+or
+ 
+{% highlight vim %}
+make perl code vim
+{% endhighlight %}
+
+and I can start coding some perl with vim.
-- 
cgit v1.2.3

