blob: f4ff936752b8e2f0146a2300c11c8a447a365d0d (
plain)
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
|
;;; init.el --- initialize emacs configuration
;;; Author: Benj Bellon <benjaminbellon@gmail.com>
;;; Maintainer: Benj Bellon <benjaminbellon@gmail.com>
;;; Homepage: https://github.com/benjbellon/emacs.d
;;; Keywords: emacs, emacs.d, config
;;; Commentary:
;;; This config builds an instance of Emacs personalized for its author.
;;; A few things of interest:
;;; 1. C-x C-c is overriden in the GUI so it redirects to the default
;;; *ansi-term* buffer. If you wish for this override while using
;;; Emacs in terminal mode, provide the following ENV variable:
;;; EMACS_OVERRIDE_C_X_C_C
;;;
;;; 2. init.el calls keychain-refresh-environment. If for some reason,
;;; you do not wish for the following to be available to Emacs, add
;;; a comment or remove the call:
;;; SSH_AUTH_SOCK
;;; SSH_AGENT_PID
;;; GPG_AGENT_INFO
;;;
;;; Code:
;; Suppress splash screen
(setq inhibit-startup-message t)
(add-to-list 'load-path (expand-file-name "settings" user-emacs-directory))
(add-to-list 'load-path (expand-file-name "utils" user-emacs-directory))
(require 'setup-package)
;; Write backup files to own directory
(setq backup-directory-alist
`(("." . ,(expand-file-name
(concat user-emacs-directory "backups")))))
;; Are we on a mac?
(setq is-mac (equal system-type 'darwin))
(defun init-install-packages()
(packages-install
'(ace-window
cider
clojure-mode
clojure-mode-extra-font-locking
clojure-snippets
dash
dockerfile-mode
elm-mode
ember-mode
ensime
flx-ido
flycheck
flycheck-clojure
flycheck-haskell
flycheck-pos-tip
haskell-mode
highlight-escape-sequences
ido-vertical-mode
magit
markdown-mode
multiple-cursors
paredit
play-routes-mode
projectile
projectile-ripgrep
purescript-mode
org-bullets
sbt-mode
scala-mode
slime
smart-mode-line
solarized-theme
visual-regexp
visual-regexp-steroids
web-mode
yaml-mode
yasnippet)))
(condition-case nil
(init-install-packages)
(error
(package-refresh-contents)
(init-install-packages)))
(setq custom-file (expand-file-name "custom.el" user-emacs-directory))
(load custom-file)
;; Are we in gui or terminal?
(if (display-graphic-p)
;; load the theme so we don't have a block of white for too long upon startup
(load-theme 'solarized-dark))
(require 'visual-regexp)
(require 'visual-regexp-steroids)
(require 'sane-defaults)
(when is-mac
(require-package 'exec-path-from-shell)
(exec-path-from-shell-initialize))
(add-to-list 'exec-path "/usr/local/bin")
(require 'setup-ace-window-mode)
(require 'setup-auto-insert-mode)
(require 'setup-avy-mode)
(require 'setup-c++-mode)
(require 'setup-clojure-mode)
(require 'setup-ember-mode)
(require 'setup-flycheck)
(require 'setup-haskell-mode)
(require 'setup-ido)
(require 'setup-keychain-environment)
(require 'setup-lisp-mode)
(require 'setup-magit)
(require 'setup-markdown-mode)
(require 'setup-multiple-cursors)
(require 'setup-org-mode)
(require 'setup-projectile-mode)
(require 'setup-purescript-mode)
(require 'setup-scala-mode)
(require 'setup-slime-mode)
(require 'setup-web-mode)
(require 'setup-yaml-mode)
(require 'setup-yasnippet)
;; full power
(put 'downcase-region 'disabled nil)
(put 'upcase-region 'disabled nil)
(put 'narrow-to-region 'disabled nil)
(keychain-refresh-environment)
;;; init.el ends here
|