diff --git a/blog/blog-2012-06-28-2128.org b/blog/blog-2012-06-28-2128.org new file mode 100644 index 0000000..80501f5 --- /dev/null +++ b/blog/blog-2012-06-28-2128.org @@ -0,0 +1,39 @@ +#+TITLE: New config project + +After [[http://sachachua.com/blog/2012/06/literate-programming-emacs-configuration-file/][reading]] that it was very easy to use [[http://en.wikipedia.org/wiki/Literate_programming][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 [[http://orgmode.org/worg/org-contrib/babel/][~org-babel~]], so they can't all have +something like this in their init file: + +#+begin_src emacs-lisp + (require 'org) + (require 'ob-tangle) + + (org-babel-load-file "~/.emacs.d/rinit.org") +#+end_src + +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. + +[[http://code.ryuslash.org/?p=newdot.git;a=tree][Here]] 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 [[http://org.ryuslash.org/dotfiles/][here]], what I have at least, in case you would like to +read about my mostly uninteresting configuration files.