Skip to content

mjago/Emacs

Repository files navigation

Emacs Configuration

How it works

  • Configuration is “On top of” the *emacs-starter-kit* configs
  • Emacs Starter Kit loads my martyn.el file which in turn loads Emacs/init.org using Emacs org-babel.
  • This setup allows for easy update of emacs-starter-kit, and revision control of personal settings, and enables having a ‘literate’ configuration. A great example of this is eschulte’s literate emacs-starter-kit

The martyn.el file within ~/.emacs.d

  • NOTE! All config goes in ~/.emacs.d/martyn/init.org - no config goes in here!
  • This file is loaded by init.el, which is the standard emacs starter kit init.el.
  • This file ensures my auto-generated init.el file does not yet exist! This may have occurred if there was a load failure previously.
  • This file then loads and runs init.org using babel to make my personal configurations.
  • My personal init.el file is then created via org-babel - Emacs initialised - and finally deleted.
;; start of martyn.el

;; This file is loaded 'naturally' by init.el, which is the standard
;; emacs starter kit init.el.
;;
;; This file then loads and runs init.org using babel to make
;; my personal configurations.
;;
;; NOTE:- no configuration should go in this file or in init.el
;; 

;; Ensure my auto-generated init.el file does not yet exist!
;; This may have occurred if there was a load failure previously.

  (if (file-exists-p "~/.emacs.d/martyn/init.el")
      (delete-file "~/.emacs.d/martyn/init.el"))

;; Load init.org using org-babel...

(require 'org-install)
(org-babel-load-file "~/.emacs.d/martyn/init.org")

;; end of martyn.el