various updates, mail
[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 (global-unset-key (kbd "C-z"))
36
37 ;; these need to be done before the hook in order to satisfy the byte compiler
38 ;; (add-to-list 'load-path "~/.emacs.d/elpa/smartparens-20140328.809")
39 ;; (add-to-list 'load-path "~/.emacs.d/elpa/dash-20140308.656")
40
41 ;;(add-to-list 'load-path "~/.emacs.d/src/ghci-completion")
42 (add-to-list 'load-path "~/.emacs.d/emacs/site-lisp/org")
43
44 ;; git version of gnus
45 ;; (add-to-list 'load-path "~/.emacs.d/src/gnus/lisp")
46 (require 'info)
47 (add-to-list 'Info-default-directory-list "~/.emacs.d/src/gnus/texi")
48
49 ;; needed for git version
50 ;;(add-to-list 'load-path "~/.emacs.d/src/haskell-mode")
51 ;;(require 'haskell-mode-autoloads)
52 ;;(add-to-list 'Info-default-directory-list "~/.emacs.d/src/haskell-mode")
53
54 (require 'bbdb-loaddefs "~/.emacs.d/src/bbdb/lisp/bbdb-loaddefs.el")
55 (setq bbdb-print-tex-path "~/.emacs.d/src/bbdb/tex")
56
57 ;;(add-hook 'server-visit-hook 'raise-frame)
58
59
60 ;; load init in `after-init-hook' so all packages are loaded
61 ;; todo, learn about the weird evaluation order of this hook that requires the quoting.
62 ;; adapted from starter-kit
63 (add-hook 'after-init-hook
64 `(lambda ()
65 ;; todo, set this var in my-init.org and use it instead
66 ;; of .emacs.d
67 (setq init-dir ,(file-name-directory load-file-name))
68 (unless (equal (user-uid) 0) ; don't make root owned files
69 (byte-recompile-directory init-dir))
70 ;; (byte-recompile-directory init-dir 0) ; with the 0,
71 ;; compile .el files that have no .elc file already
72
73 ;; this must be loaded first to avoid an error: void-function(cl-member)
74 (require 'cl)
75 ;; added org-habit, org-drill, org-mobile from the defaults
76 ;; disabled because I'm not using org-drill, and I see
77 ;; this error on startup of emacs server,
78 ;; which might be nothing but meh,
79 ;; File mode specification error: (void-function org-drill-add-cloze-fontification)
80
81 (require 'org)
82 ;; (setq org-modules (quote (org-bbdb org-bibtex org-docview org-gnus
83 ;; org-info org-jsinfo org-irc org-mew
84 ;; org-mhe org-rmail org-vm org-wl org-w3m
85 ;; org-habit org-drill org-mobile)))
86 (org-babel-load-file (expand-file-name "my-init.org" init-dir))
87 (org-babel-load-file (expand-file-name "dev.org" init-dir))))
88
89 ;;init.el ends here