After [reading](http://sachachua.com/blog/2012/06/literate-programming-emacs-configuration-file/) that it was very easy to use [Literate Programming](http://en.wikipedia.org/wiki/Literate_programming) for one's emacs init file and discovering that it's also a lot of fun to do, I was thinking that I could easily use this for all my configuration files. Of course, not all programs have [org-babel](http://orgmode.org/worg/org-contrib/babel/), so they can't all have something like this in their init file: [[!format el """ (require 'org) (require 'ob-tangle) (org-babel-load-file "~/.emacs.d/rinit.org") """]] Which, for emacs, tangles (extracts the code) and then loads the generated file. So something else has to be done. On the other side of things, I, fairly recently, had a run-in with some Makefiles, which got me thinking that `make` is a very interesting tool and that it could be used to help with a lot of other tasks as well, much like I perceive Rake does. I just wasn't able to find where exactly it would fit (other than, of course, as compilation instructions for my projects). Now, yesterday I got the idea of using `org-mode` to literate-program all my configuration files and then use `make` to tangle and install them. This would mean that I could easily keep documentation about decisions in configuration files and such in an easy to read format, easily export these files to somewhere on the web and practice my `make` skills to make everything easy. [Here](http://code.ryuslash.org/?p=newdot.git;a=tree) is the result. I'm still working on it, as you can see my emacs init file still has a long way to go, my focus is on getting it in `org-mode` first and actually get it well-documented later. I've published it [here](http://ryuslash.org/dotfiles/), what I have at least, in case you would like to read about my mostly uninteresting configuration files. [[!meta date="2012-06-28 21:28:00"]] [[!tag org-mode literate_programming dotfiles project]]