-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinit.el
169 lines (150 loc) · 4.54 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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
;; STANDARD libraries needed
(require 'cl)
(require 'package)
;; Packages and configs to load
(defvar init-packages
'(evil
evil-numbers
exec-path-from-shell
paredit
flycheck
flycheck-rust
idris-mode
elixir-mode
ruby-end
alchemist
web-mode
markdown-mode
css-mode
yaml-mode
ghc
haskell-mode
dhall-mode
intero
hindent
js2-mode
ac-js2
ag
f
let-alist
s
elm-mode
purescript-mode
flycheck-purescript
psc-ide
auto-complete
company
json-reformat
json-mode
ensime
writegood-mode
projectile
ag
helm
helm-projectile
helm-ag
helm-flx
helm-fuzzier
helm-tramp
w3m
rust-mode
intero
floobits
magit
go-mode
gotest
evil-mu4e
fix-word
whitespace-cleanup-mode
indent-guide
discover-my-major
proof-general
))
(defvar init-configs
'("global"
"elm"
"elixir"
"markdown"
"javascript"
"haskell"
"purescript"
"git"
"workflow"
"web"
"rust"
"go"
"tramp"
"python"
; "email"
))
;; Load packages
(let* ((no-ssl (and (memq system-type '(windows-nt ms-dos))
(not (gnutls-available-p))))
(proto (if no-ssl "http" "https")))
(add-to-list 'package-archives (cons "melpa" (concat proto "://melpa.org/packages/")) t))
(package-initialize)
(when (not (null (memq nil (mapcar 'package-installed-p init-packages))))
(package-refresh-contents))
(dolist (pkg init-packages)
(unless (package-installed-p pkg)
(package-install pkg)))
(require 'evil)
;; Load configurations
(defvar init-currentDir (file-name-directory (or load-file-name buffer-file-name)))
(loop for name in init-configs
do (load (concat init-currentDir "config/" name ".el")))
;; Set default theme
(add-to-list 'custom-theme-load-path "~/.emacs.d/themes/solarized")
(load-theme 'solarized t)
;; Mode initializations
(evil-mode)
(load "haskell-mode-autoloads.el")
;; Debug mode
;(setq debug-on-error t)
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(haskell-complete-module-preferred
(quote
("Data.ByteString" "Data.ByteString.Lazy" "Data.Conduit" "Data.Function" "Data.List" "Data.Map" "Data.Maybe" "Data.Monoid" "Data.Ord")))
'(haskell-font-lock-symbols t)
'(haskell-interactive-mode-eval-mode (quote haskell-mode))
'(haskell-interactive-mode-eval-pretty nil)
'(haskell-interactive-mode-include-file-name nil)
'(haskell-interactive-popup-errors nil)
'(haskell-process-args-ghci (quote ("-ferror-spans")))
'(haskell-process-auto-import-loaded-modules t)
'(haskell-process-generate-tags nil)
'(haskell-process-log t)
'(haskell-process-path-ghci "ghci")
'(haskell-process-reload-with-fbytecode nil)
'(haskell-process-suggest-remove-import-lines t)
'(haskell-process-type (quote cabal-repl))
'(haskell-process-use-presentation-mode t)
'(haskell-stylish-on-save t)
'(haskell-tags-on-save nil)
'(package-selected-packages
(quote
(persp-mode-projectile-bridge magit yaml-mode writegood-mode web-mode w3m use-package solarized-theme rust-mode ruby-end purescript-mode psc-ide paredit markdown-mode json-mode intero idris-mode hindent helm-projectile helm-fuzzier helm-flx helm-ag ghc flycheck-purescript floobits evil-visual-mark-mode ensime elm-mode auto-complete alchemist ag ac-js2)))
'(psc-ide-executable "/home/whitehead/.local/bin" t)
'(python-indent-offset 2)
'(safe-local-variable-values
(quote
((intero-targets "bawerk:lib" "bawerk:exe:bawerk-exe" "bawerk:test:bawerk-test" "bawerk:bench:bawerk-benchmarks")
(intero-targets "fx:lib" "fx:exe:fx-exe" "fx:test:fx-test" "fx:bench:fx-benchmarks")
(intero-targets "mises:lib" "mises:exe:mises" "mises:exe:spike" "mises:test:mises-test")
(intero-targets "mtl-style-example:lib" "mtl-style-example:exe:mtl-style-example" "mtl-style-example:test:mtl-style-example-test-suite")
(intero-targets "mises:lib" "mises:exe:mises-exe" "mises:test:mises-test")
(haskell-indent-spaces . 4)
(haskell-process-use-ghci . 4)
(haskell-indent-spaces . 2)
(haskell-process-type . cabal-repl)))))
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
)
(setq mac-command-modifier 'control)