I use Literate Programming to mix up my configuration code and the explanatory comments so that I can easily pick the meaning of a piece of code after a long time.
The most of the code base comes from Steve Purcell’s emacs.d and what I’m gonna do is to translate them in a literate programming way. (P.S. It was refered in Mastering Emacs in One Year Guide)
The init.el is learnt from Sacha Chua’s config and the official babel guide. With this I can auto load my org file into initialization progress.
The Org-mode config comes from here.
I use the digit number to indicate the execute order the all the org files. Currently there are 3 levels:
0-xxx.org
: personal variables setting1-sys.org
: all the universal package configs2-xyz.org
: settings for major modexyz
;; placeholder for init.el tangle handler
The current progress of translating Steve Purcell’s config is:
[2015-04-27 Mon 14:01]
- [X] personal info
- [X] compatibility issues - compat
- [X] helper functions - utils
- [X] package manager - elpa
- [X] set up $PATH; for Windows Emacs - exec-path
- State “DONE” from “HOLD” [2015-09-29 Tue 01:32]
- State “HOLD” from “NEXT” [2015-04-28 Tue 21:14]
Some of these packages I don’t think I ll use them currently. So I ll just leave it.
- write grep command in a buffer - wgrep
- [X] minor mode with no modeline display - dimnish
- [X] mode-specific scratch buffers - scratch
- log keyboard commands to buffer - mwe-log-commands
- State “WAITING” from “NEXT” [2015-04-30 Thu 23:57]
wait for navigation
- [ ] frame-hooks - a hook runs after a newly created frame
- xtrem - I don’t use xterm now
- [X] themes
- osx-keys - I’ve set the key binding system wide, so no need for this
- [X] gui-frames
- [ ] fonts
- [X] FIXME: powerline
- [ ] relative-line-numbers - obsolete - mode specific
- [ ] proxies - obsolete
- [ ] dired
- [ ] speedbar
- [ ] isearch
- [ ] grep
- [ ] uniquify
- [ ] ibuffer
- [X] flycheck
- [ ] recentf
- [ ] ido
- [ ] mmm
- [ ] crontab
- [ ] spelling
- [ ] misc
- [ ] ledger - obsolete
- [ ] gnuplot - obsolete
- [ ] osx-location
- [ ] regex-tool
- [ ] server
- hippie-expand
- [X] editing-utils
- [X] ace-jump
- [X] company
- [X] yasnippet
- [ ] doxymacs
- State “WAITING” from “NEXT” [2015-04-30 Thu 23:55]
Waiting for bookmark+
[2015-04-29 Wed 01:01]
perspective - I think I will not need it
- [ ] semantic - should I install?
- [ ] compile
- [X] cc
- [ ] textile
- [ ] markdown
- [ ] csv
- [ ] erlang
- [ ] python - remember ipython notebooks
- [X] haskell
- [X] ruby
- [ ] rails
- [ ] R
- [ ] paredit
- [ ] lisp
- [ ] slime
- [ ] clojure
- [ ] lua
- [ ] javascript
- [ ] php
- [ ] org
- [ ] latex
- [ ] nxml
- [ ] html
- [ ] htmlize
- [ ] css
- [ ] haml
- [ ] sql
- [ ] dsvn
- [ ] dash
- [ ] variables configured via the interactive ‘customize’ interface
- [ ] allow users to provide optional ‘init-local’ containting personal settings
- [ ] locales (setting them earlier in this file doesn’t work in X)
NEXT git push .emacs.d
- State “DONE” from “NEXT” [2015-09-28 Mon 15:57]
- State “DONE” from “NEXT” [2015-09-19 Sat 08:52]
- State “DONE” from “NEXT” [2015-09-12 Sat 01:06]
- State “DONE” from “NEXT” [2015-09-12 Sat 01:06]
- State “DONE” from “NEXT” [2015-07-09 Thu 10:48]
- State “DONE” from “NEXT” [2015-07-03 Fri 17:10]
- State “DONE” from “NEXT” [2015-06-17 Wed 20:05]
- State “DONE” from “NEXT” [2015-04-29 Wed 23:42]