-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinit.el
57 lines (48 loc) · 1.31 KB
/
init.el
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
;; Check if system is running macOS
(setq is-mac (equal system-type 'darwin))
;; Keep Emacs custom-settings in separate file
(setq custom-file (expand-file-name "custom.el" user-emacs-directory))
(load custom-file)
;; Define paths to dependencies
(setq vendor-dir
(expand-file-name "vendor" user-emacs-directory))
(setq settings-dir
(expand-file-name "settings" user-emacs-directory))
;; Add dependencies to load path
(add-to-list 'load-path settings-dir)
(add-to-list 'load-path vendor-dir)
;; Add external dependencies (Git submodules) to load path
(dolist (project (directory-files vendor-dir t "\\w+"))
(when (file-directory-p project)
(add-to-list 'load-path project)))
;; Refresh package info if necessary
(when (not package-archive-contents)
(package-refresh-contents))
(defvar my-packages
'(
cider
clojure-mode
clojure-mode-extra-font-locking
ido-completing-read+
magit
paredit
projectile
rainbow-delimiters
smex
solarized-theme
tagedit
))
(when is-mac
(add-to-list 'my-packages 'exec-path-from-shell))
(dolist (p my-packages)
(when (not (package-installed-p p))
(package-install p)))
;; Load additional customizations
(load "clojure.el")
(load "editing.el")
(load "elisp.el")
(load "interface.el")
(load "macos.el")
(load "misc.el")
(load "navigation.el")
(load "shell.el")