[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] emacs initialization files in org mode
From: |
Tony Day |
Subject: |
Re: [O] emacs initialization files in org mode |
Date: |
Sat, 12 Jan 2013 15:16:47 +1100 |
On 7 Jan 2013, at 04:41, Alan Schmitt <address@hidden> 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