67 lines
2.5 KiB
Org Mode
67 lines
2.5 KiB
Org Mode
#+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.
|
|
|
|
* Preparation
|
|
|
|
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 it's 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've 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.
|
|
|
|
* 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]]
|