From: Kyle Machulis <kyle@nonpolynomial.com>
To: emacs-orgmode <emacs-orgmode@gnu.org>
Subject: Re: Using Org/babel for Emacs config files (was: OT: Learning ELISP)
Date: Wed, 23 Jan 2013 14:32:11 -0800 [thread overview]
Message-ID: <CAF1EFceYJLhCDrayM14nZW6Zquyum_w4UfLWev9kHW31pjheeQ@mail.gmail.com> (raw)
In-Reply-To: <51005ed7.04bc650a.65b3.ffffea88@mx.google.com>
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
<darcamo@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 <jonathana@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
>>
>>
>
next prev parent reply other threads:[~2013-01-23 22:32 UTC|newest]
Thread overview: 157+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-07 15:55 Referencing elemts of a table Karl Voit
2011-06-07 17:22 ` Michael Brand
2011-06-08 0:05 ` kinouchou
2011-06-08 3:54 ` Jambunathan K
2011-06-08 4:25 ` Nick Dokos
2011-06-08 12:49 ` Karl Voit
2011-06-08 13:47 ` Michael Brand
[not found] ` <devnull@Karl-Voit.at>
2011-06-08 13:49 ` Nick Dokos
2011-06-24 14:32 ` org-time-stamp loses repeater interval Karl Voit
2011-06-24 16:08 ` Bernt Hansen
2011-06-24 16:01 ` Nick Dokos
2011-06-24 17:40 ` Michael Brand
2011-06-24 18:00 ` Nick Dokos
2011-06-26 11:30 ` Bug: " Karl Voit
2011-06-27 16:23 ` Bastien
2011-06-28 13:40 ` Karl Voit
2011-06-28 14:28 ` Bastien
2011-06-28 15:04 ` Nick Dokos
2011-06-28 15:13 ` Karl Voit
2011-06-28 15:33 ` Nick Dokos
2011-06-28 16:03 ` Karl Voit
2011-06-28 15:48 ` Bastien
2011-06-28 16:05 ` Karl Voit
2011-06-28 17:27 ` Bastien
2011-06-28 18:43 ` Karl Voit
2011-06-28 23:02 ` Bastien
2011-06-28 23:10 ` Nick Dokos
2011-06-28 23:58 ` Bastien
2011-06-29 1:44 ` Nick Dokos
2011-06-29 7:28 ` Sebastien Vauban
2011-06-29 9:30 ` Bastien
2011-06-29 14:34 ` Nick Dokos
2011-07-02 13:29 ` Bastien
2011-06-29 12:47 ` Karl Voit
2011-07-02 13:26 ` Bastien
2011-07-02 13:26 ` Bastien
2011-09-30 15:31 ` How to debug "Specified time is not representable" Nick Dokos
2011-10-18 17:26 ` Recurring events with exceptions Nick Dokos
2011-10-18 20:38 ` Karl Voit
2012-03-16 17:52 ` [bug] org-agenda-write does not handle date stamps without day of week Nick Dokos
2012-03-16 18:53 ` Karl Voit
2012-03-17 6:45 ` Nick Dokos
2012-03-19 9:12 ` Carsten Dominik
2012-03-20 5:54 ` Carsten Dominik
2012-03-20 12:26 ` Karl Voit
2012-03-20 13:47 ` Carsten Dominik
2012-04-10 17:38 ` Bastien
2012-04-10 17:44 ` Nick Dokos
2012-04-10 18:03 ` Bastien
2012-03-20 13:39 ` Nick Dokos
2012-03-21 16:32 ` Karl Voit
2012-03-21 16:57 ` Carsten Dominik
2012-03-26 16:10 ` Plotting (with gnuplot) using dates timestamps Nick Dokos
2012-08-13 22:27 ` table: referencing row of other table Nick Dokos
2012-08-13 22:44 ` Karl Voit
2012-08-19 12:32 ` What HW/SW issues influence org/Emacs performance? Nick Dokos
2012-08-19 13:04 ` Karl Voit
2012-08-20 17:23 ` Replacement for org-make-link Nick Dokos
2012-08-20 17:54 ` Bastien
2012-08-20 19:29 ` Karl Voit
2012-08-27 16:09 ` comma as decimal point: bug? Nick Dokos
2012-08-27 16:17 ` Karl Voit
2013-01-18 14:07 ` Wish: switch active time-stamps to inactive when CANCELED Nick Dokos
2013-01-18 21:24 ` Karl Voit
2013-01-18 21:59 ` Nick Dokos
2013-01-20 16:05 ` Karl Voit
2013-01-20 18:16 ` Viktor Rosenfeld
2013-01-21 10:18 ` Memnon Anon
2013-01-21 11:39 ` OT: Learning ELISP (was: Wish: switch active time-stamps to inactive when CANCELED) Karl Voit
2013-01-21 21:56 ` OT: Learning ELISP Jonathan Arkell
2013-01-23 14:40 ` Using Org/babel for Emacs config files (was: OT: Learning ELISP) Karl Voit
2013-01-23 15:52 ` Using Org/babel for Emacs config files David Bjergaard
2013-01-23 22:06 ` Using Org/babel for Emacs config files (was: OT: Learning ELISP) Darlan Cavalcante Moreira
2013-01-23 22:32 ` Kyle Machulis [this message]
2013-01-24 13:27 ` [OT] open url in emacs was: Re: Using Org/babel for Emacs config files Andreas Leha
2013-01-24 13:29 ` Bastien
2013-01-24 14:13 ` Andreas Leha
2013-01-24 15:19 ` Bastien
2013-01-24 19:48 ` Andreas Leha
2013-01-25 4:48 ` Jambunathan K
2013-01-26 8:34 ` Andreas Leha
2013-01-26 13:05 ` Jambunathan K
2013-01-28 9:41 ` Andreas Leha
2013-01-24 15:18 ` Daimrod
2013-01-24 1:04 ` Thorsten Jolitz
2013-01-24 1:33 ` Thomas S. Dye
2013-01-24 8:42 ` Thorsten Jolitz
2013-01-24 11:36 ` full outline functionality in .el files: how? (was: Re: Using Org/babel for Emacs config files) Gregor Zattler
2013-01-24 12:48 ` full outline functionality in .el files: how? Bastien
2013-01-24 13:40 ` Thorsten Jolitz
2013-01-24 13:46 ` Bastien
2013-01-24 14:17 ` Thorsten Jolitz
2013-01-24 15:57 ` Bastien
2013-01-24 13:36 ` Thorsten Jolitz
2013-01-25 18:08 ` Memnon Anon
-- strict thread matches above, loose matches on Subject: below --
2011-09-30 14:32 How to debug "Specified time is not representable" Karl Voit
2011-09-30 14:52 ` Jambunathan K
2011-10-03 11:50 ` Karl Voit
2011-10-04 7:40 ` Jambunathan K
2011-10-04 11:42 ` Karl Voit
2011-10-04 12:13 ` Carsten Dominik
2011-10-04 11:41 ` Carsten Dominik
2011-10-04 11:47 ` Karl Voit
2011-10-18 16:52 Recurring events with exceptions Karl Voit
2011-10-18 17:04 ` Brian Wightman
2011-10-18 17:35 ` Karl Voit
2011-10-18 18:15 ` Skip Collins
2011-10-18 18:46 ` Tassilo Horn
2011-10-18 19:57 ` Eric S Fraga
2011-10-19 0:34 ` Skip Collins
2011-10-19 10:02 ` Eric S Fraga
2011-10-21 21:48 ` Skip Collins
2011-10-22 8:38 ` Sync with Outlook/Exchange (was: Recurring events with exceptions) Karl Voit
2011-10-24 7:13 ` Recurring events with exceptions Eric S Fraga
2012-03-05 14:44 [bug] org-agenda-write does not handle date stamps without day of week Karl Voit
2012-03-16 16:14 ` Karl Voit
2012-03-17 14:04 ` Simon Thum
2012-03-19 9:13 ` Carsten Dominik
2012-03-26 13:37 Plotting (with gnuplot) using dates timestamps Alan Schmitt
2012-03-26 14:00 ` Allen S. Rout
2012-03-26 14:06 ` Michael Brand
2012-03-26 14:07 ` Steven Buczkowski
[not found] ` <steven.buczkowski@gmail.com>
2012-03-26 14:37 ` Nick Dokos
2012-03-26 14:59 ` Alan Schmitt
2012-03-26 15:48 ` Karl Voit
2012-03-26 17:02 ` Alan Schmitt
2012-03-26 17:06 ` Karl Voit
2012-03-26 17:11 ` Ian Barton
2012-03-27 7:59 ` Karl Voit
2012-03-30 1:09 ` Mueen Nawaz
2012-08-13 21:50 table: referencing row of other table Karl Voit
2012-08-19 10:56 What HW/SW issues influence org/Emacs performance? Karl Voit
2012-08-19 11:23 ` Achim Gratz
2012-08-19 16:45 ` Luis Anaya
2012-08-20 17:03 Replacement for org-make-link Karl Voit
2012-08-26 13:54 comma as decimal point: bug? Rainer Thiel
2012-08-26 20:57 ` Nicolas Goaziou
2012-08-26 21:05 ` Bastien
2012-08-26 21:08 ` Nicolas Goaziou
2012-08-27 16:19 ` Bastien
2012-08-27 15:44 ` Karl Voit
2012-08-26 20:59 ` Bastien
2012-08-27 9:08 ` Rainer Thiel
2012-08-27 12:30 ` AW
2013-01-18 10:34 Wish: switch active time-stamps to inactive when CANCELED Karl Voit
2013-01-18 11:04 ` Daimrod
2013-01-18 11:08 ` Karl Voit
2013-01-18 11:24 ` Daimrod
2013-01-18 21:22 ` Karl Voit
2013-01-18 21:59 ` Viktor Rosenfeld
2013-01-18 22:50 ` Daimrod
2013-01-20 15:39 ` Karl Voit
2013-01-23 13:18 ` Bastien
2013-01-23 17:21 ` Viktor Rosenfeld
2013-01-24 14:11 ` Bastien
2013-01-18 23:10 ` Samuel Wales
2013-01-26 11:06 ` Bastien
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAF1EFceYJLhCDrayM14nZW6Zquyum_w4UfLWev9kHW31pjheeQ@mail.gmail.com \
--to=kyle@nonpolynomial.com \
--cc=emacs-orgmode@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).