5596c9b998c60401293416f88b01eaee496aefe0
[dot-emacs] / init.el
1 ;; Copyright (C) 2014 Ian Kelling
2
3 ;; This program is free software: you can redistribute it and/or modify
4 ;; it under the terms of the GNU General Public License as published by
5 ;; the Free Software Foundation, either version 3 of the License, or
6 ;; (at your option) any later version.
7
8 ;; This program is distributed in the hope that it will be useful,
9 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
10 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 ;; GNU General Public License for more details.
12
13 ;; You should have received a copy of the GNU General Public License
14 ;; along with this program. If not, see <http://www.gnu.org/licenses/>.
15
16
17 ;; do m-x benchmark-init to see some benchmark stats
18 ;;(add-to-list 'load-path "~/.emacs.d/src/benchmark-init-el/")
19 ;;(require 'benchmark-init-loaddefs)
20 ;;(benchmark-init/activate)
21
22
23 ;;; init.el --- the start of customization
24
25 ;; (toggle-debug-on-error) ;uncomment to help debug
26
27 ;; stop from minimizing & freezing the gui
28
29 ;; Added by Package.el. This must come before configurations of
30 ;; installed packages. Don't delete this line. If you don't want it,
31 ;; just comment it out by adding a semicolon to the start of the line.
32 ;; You may delete these explanatory comments.
33 (package-initialize)
34
35 ;; used to freeze emacs and was really annoying,
36 ;; seems its changed now. no harm in keeping this though.
37 (global-unset-key (kbd "C-z"))
38
39 ;; these need to be done before the hook in order to satisfy the byte compiler
40 ;; (add-to-list 'load-path "~/.emacs.d/elpa/smartparens-20140328.809")
41 ;; (add-to-list 'load-path "~/.emacs.d/elpa/dash-20140308.656")
42
43 ;;(add-to-list 'load-path "~/.emacs.d/src/ghci-completion")
44 (add-to-list 'load-path "~/.emacs.d/emacs/site-lisp/org")
45
46 ;; git version of gnus
47 ;; (add-to-list 'load-path "~/.emacs.d/src/gnus/lisp")
48 (require 'info)
49 (add-to-list 'Info-default-directory-list "~/.emacs.d/src/gnus/texi")
50
51 ;; needed for git version
52 ;;(add-to-list 'load-path "~/.emacs.d/src/haskell-mode")
53 ;;(require 'haskell-mode-autoloads)
54 ;;(add-to-list 'Info-default-directory-list "~/.emacs.d/src/haskell-mode")
55
56 (require 'bbdb-loaddefs "~/.emacs.d/src/bbdb/lisp/bbdb-loaddefs.el")
57 (setq bbdb-print-tex-path "~/.emacs.d/src/bbdb/tex")
58
59 ;;(add-hook 'server-visit-hook 'raise-frame)
60
61
62 ;; load init in `after-init-hook' so all packages are loaded
63 ;; todo, learn about the weird evaluation order of this hook that requires the quoting.
64 ;; adapted from starter-kit
65 (add-hook 'after-init-hook
66 `(lambda ()
67 ;; todo, set this var in my-init.org and use it instead
68 ;; of .emacs.d
69 (setq init-dir ,(file-name-directory load-file-name))
70 (unless (equal (user-uid) 0) ; don't make root owned files
71 (byte-recompile-directory init-dir))
72 ;; (byte-recompile-directory init-dir 0) ; with the 0,
73 ;; compile .el files that have no .elc file already
74
75 ;; this must be loaded first to avoid an error: void-function(cl-member)
76 (require 'cl)
77 ;; added org-habit, org-drill, org-mobile from the defaults
78 ;; disabled because I'm not using org-drill, and I see
79 ;; this error on startup of emacs server,
80 ;; which might be nothing but meh,
81 ;; File mode specification error: (void-function org-drill-add-cloze-fontification)
82
83 (require 'org)
84 ;; (setq org-modules (quote (org-bbdb org-bibtex org-docview org-gnus
85 ;; org-info org-jsinfo org-irc org-mew
86 ;; org-mhe org-rmail org-vm org-wl org-w3m
87 ;; org-habit org-drill org-mobile)))
88 (org-babel-load-file (expand-file-name "my-init.org" init-dir))
89 (org-babel-load-file (expand-file-name "dev.org" init-dir))))
90
91 ;;init.el ends here