summaryrefslogtreecommitdiffstats
path: root/posts/New_config_project.mdwn
blob: 8994f946db8a2cde36ed8f45726f82d55504816e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
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]]