Building on these idea, eric schulte's emacs 24 starter kit actually
uses tags to configure what should and shouldn't be tangled, to make
things easily configurable by others (not really a feature most of us
are looking for in configs, but interesting nonetheless). Check out
the starter-kit-load function in
https://raw.github.com/eschulte/emacs24-starter-kit/master/starter-kit.org

On Wed, Jan 23, 2013 at 2:06 PM, Darlan Cavalcante Moreira
<darc...@gmail.com> wrote:
>
> I also have my Emacs configuration in org mode and it is really great.
> Before moving to an org-mode initialization file I had multiple elisp files
> and the main initialization file loaded the individual files. But having
> everything in one place with the outline and search powers of org-modemuch
> better. You can even put todos there if you want.
>
> There are many benefits of using tags in your initialization. You can, for
> instance, put a "Keybinds" tag in all headlines that change some
> keybindings. You can put a "Flymake" tag in all headlines configuring
> flymake for the different programming languages you use. If you need to
> locate the flymake configuration specific for python, for instance, all
> that is necessary is to do a tag search for the Flymake and Python tags.
>
> Note that Emacs does not evaluate your initialization org-mode file
> directly. It tangles all elisp blocks in that file to an elisp file and
> then load that elisp file as usual. The tangling can be slow if you have
> many blocks, but it only does that once after editing the org-mode
> file. Therefore, you don't get a performance hit by having your
> initialization in an org-mode file.
>
> You can also take advantage of this tangle process. For instance, I have a
> "Themes" headline where each child headline configures Emacs with a
> different theme. I set the TANGLE property of all of these headlines to
> "no" except one. Then Emacs will use that theme. You can easily
> enable/disable big parts of your configuration like this and I find it
> easier then commenting and uncommenting different parts of an elisp
> file. For visual feedback, I like to add the COMMENT keyword in the
> headlines where I have set the TANGLE property to no.
>
> --
> Darlan
>
> At Wed, 23 Jan 2013 15:40:35 +0100,
> Karl Voit wrote:
>>
>> Hi!
>>
>> * Jonathan Arkell <jonath...@criticalmass.com> wrote:
>> > I am a huge advocate of using org files and literate programming in your
>> > config files.
>>
>> Great.
>>
>> I am not completely convinced to convert my config to org/babel but
>> I am not oppose either. Not sure, if there are that many advantages,
>> that it is worth my effort, that's all.
>>
>> > A few reasons why:
>> >   - Makes it easy to logically group sections of your init and
>> > configuration
>>
>> Well, this is also possible with pure elisp and comments. Folding is
>> a different topic tough.
>>
>> >   - Agenda tags search on your initialization file?  Yes please!
>> > Extremely useful for those "cross-cutting" bits.  I have tags like
>> > "keybinding", "osx" and "linux", and working on others as appropriate.
>>
>> Hm. Interesting but I guess this is not my use-case (except for
>> :keybinding:). I do use "(when (system-is-linux) ... )" and similar
>> all over my configuration.
>>
>> Although I am a huge fan of tagging, I don't see the use when
>> editing my emacs config (yet).
>>
>> >   - Add TODOs to your init file.
>>
>> I am using ~/org/mainfile.org -> "* shorts" -> "** TODO do this
>> :hostname:" all the time. Also for my config tasks. No worries: I do
>> see your point but I like to have all my sysadmin-tasks combined in
>> "mainfile.org/shorts". So maybe this is just me.
>>
>> > Here is my example, but I stand on the shoulders of giants:
>> >
>> > https://github.com/jonnay/emagicians-starter-kit
>>
>> Thanks for sharing!
>>
>> One thing which I would appreciate would be that it is more easy to
>> write documentation (including URLs; outside of elisp sections) in
>> org.
>>
>>
>> Naive question: Are there any performance issues with not being able
>> to compile my config.org to config.elc as it is possible with
>> config.el files?
>>
>> --
>> Karl Voit
>>
>>
>

Reply via email to