On 7 Jan 2013, at 04:41, Alan Schmitt <alan.schm...@polytechnique.org> wrote:

> The bare minimum one can do is:
> - rename the current init.el into myinit.org
> - add the lines "#+begin_src emacs-lisp" as the first line, and
> "+end_src" as the last line
> - adapt the init.el from emacs-starter-kit as follows
> #+BEGIN_SRC emacs-lisp
> (add-hook 'after-init-hook
> `(lambda ()
>    ;; remember this directory
>    (setq emacsd-dir
>          ,(file-name-directory (or load-file-name (buffer-file-name))))
>    ;; load up the starter kit
>    (require 'org)
>    (org-babel-load-file (expand-file-name "myinit.org" emacsd-dir))))
> #+END_SRC
> 

When emacs boots its expectations for an init.el are hardwired in.  It doesn't 
know about org-mode goodness yet.  So my minimum init.el is:

#+Begin_src emacs-lisp :tangle init.el :var tangled-in=(buffer-file-name)
  (setq user-emacs-directory
        (file-name-directory (or load-file-name user-emacs-directory 
"~/.emacs.d/")))
  (defvar org-dir
  "site-lisp/org-mode/lisp"
  "location of the directory containing org-mode")
  (add-to-list 'load-path (expand-file-name org-dir user-emacs-directory))
  (defvar dotemacs-org-file
  "dotemacs.org"
  "Name of the org file containing the main startup code")
  (if (boundp 'tangled-in)
     (setq dotemacs-org-file tangled-in))
  (org-babel-load-file (expand-file-name dotemacs-org-file 
user-emacs-directory))
#+end_src

And this has to be tangled before emacs loads or it will load the old version 
of init.el.  It's a good idea to tell emacs straight away where your org 
directory is or you might end up with the nasty split org version hassle where 
half of org is the old emacs version and half is the shiny new repository.

https://github.com/tonyday567/dotemacs.org for my messy orgish dot files, which 
are mostly orgified https://github.com/jwiegley/dot-emacs, or eric's orgified 
starter kit:
https://github.com/eschulte/emacs24-starter-kit

Tony









Reply via email to