summaryrefslogtreecommitdiff
path: root/content/post/2008-06-27-dotfiles-and-scm.md
diff options
context:
space:
mode:
authorFranck Cuny <franckcuny@gmail.com>2016-07-02 20:06:31 -0700
committerFranck Cuny <franckcuny@gmail.com>2016-07-02 20:06:31 -0700
commit4b8e43f75b394a4e6169884fbfb4c606865c6a22 (patch)
tree48cae6b8e8f9b68cae29676d8a15cb3ddbfcccda /content/post/2008-06-27-dotfiles-and-scm.md
parentStop using Jekyll. (diff)
downloadlumberjaph-4b8e43f75b394a4e6169884fbfb4c606865c6a22.tar.gz
Import migration from Jekyll to Hugo.
All the posts were converted, and the layout is created. This looks like it works just fine.
Diffstat (limited to '')
-rw-r--r--content/post/2008-06-27-dotfiles-and-scm.md45
1 files changed, 45 insertions, 0 deletions
diff --git a/content/post/2008-06-27-dotfiles-and-scm.md b/content/post/2008-06-27-dotfiles-and-scm.md
new file mode 100644
index 0000000..c6b32e1
--- /dev/null
+++ b/content/post/2008-06-27-dotfiles-and-scm.md
@@ -0,0 +1,45 @@
+---
+date: 2008-06-27T00:00:00Z
+summary: In which I share how I manage my dotfiles.
+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:
+
+```make
+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 run `make all` or `make perl code vim` and I can start coding some perl with vim.