#+STARTUP: showall Inspired by [[Other such projects][other such projects]], here is my Emacs initialization file. *Note:* This is not my entire Emacs initialization file. It's a work-in-progress. * Setup I could use org-babel to load this file, but I don't like my initialization file being dependent on too many things, especially big things, and org is a big thing. It may be strange for you to read this, as I have placed my entire Emacs configuration in an org-mode file, but here are the make targets I use to tangle and subsequently byte-compile my init file: #+BEGIN_SRC makefile %.elc: %.el emacs -Q -batch -eval "(byte-compile-file \"$<\")" init.el: init.org emacs -Q -batch -l "ob-tangle" -eval "(org-babel-tangle-file \"init.org\") #+END_SRC Executing the second target (either through make, or manually) will get you my Emacs initialization file in plain Emacs Lisp. *Note:* If you look at this file in its org-mode form you will notice that I actually tangle ~init.org~ into ~init2.el~. This is a temporary measure so that I can gradually move my configuration from my existing ~init.el~ file into ~init.org~ without much trouble. Once I have emptied out my ~init.el~ I will instruct babel to tangle into ~init.el~, this code already reflects that. * The ~oni:~ prefix To keep my functions and variables from ever accidentally interfering with other packages or Emacs internal variables I prefix all the functions I write and variables I declare with ~oni:~. You don't have to copy it if you copy anything from this file, as long as you do it consistently. I sometimes forget to do this, though. * The ~depends-on~ snippets At certain points in this document you will find bits of code that look like: #+BEGIN_SRC emacs-lisp :tangle no (depends-on "somepackage") #+END_SRC These calls are from the Cask DSL. They specify that my configuration depends on some package found in one of the ELPA repositories I have setup. These snippets don't belong in your =init.el=, but instead in a separate =Cask= file, and only if you use Cask, not if you just use the standard ~package.el~. * Other such projects As stated, this project is inspired and influenced by other literate configurations. Here is a list of some of the ones I've found: - [[http://sachac.github.io/.emacs.d/Sacha.html][Sacha Chua]] - [[http://www.wisdomandwonder.com/wordpress/wp-content/uploads/2014/03/C3F.html][Grant Rettke]] - [[https://github.com/wasamasa/dotemacs][Vasilij Schneidermann]]