-
Notifications
You must be signed in to change notification settings - Fork 1
/
init.el
124 lines (102 loc) · 3.43 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
;; Hide shit on startup
(setq inihibit-startup-screen t)
(setq vc-follow-symlinks t)
(menu-bar-mode -1)
(tool-bar-mode -1)
(scroll-bar-mode -1)
;; Basic
(setq scroll-step 1)
(setq-default indent-tabs-mode nil)
(set-default-font "MonteCarlo:pixelsize=11:foundry=Bok:weight=normal:slant=normal:width=normal:spacing=100:scalable=false")
(setq visible-cursor nil)
(setq cursor-in-non-selected-windows nil)
(fset 'yes-or-no-p 'y-or-n-p)
(setq ring-bell-function 'ignore)
;; key bindings
(when (eq system-type 'darwin) ;; mac specific settings
;; (setq mac-command-key-is-meta t)
;; (setq mac-command-modifier 'meta)
(global-set-key [kp-delete] 'delete-char)) ;; sets fn-delete to be right-delete
;; Autosave/Backups
(setq make-backup-files t)
(setq version-control t)
(setq backup-directory-alist '((".*" . "~/.emacs/backups")))
(setq auto-save-file-name-transforms '((".*" "~/.emacs/autosaves/\\1" t)))
(custom-set-variables
'(inhibit-startup-screen t))
; derived from ELPA installation
; http://tromey.com/elpa/install.html
(defun eval-url (url)
(let ((buffer (url-retrieve-synchronously url)))
(save-excursion
(set-buffer buffer)
(goto-char (point-min))
(re-search-forward "^$" nil 'move)
(eval-region (point) (point-max))
(kill-buffer (current-buffer)))))
;; Load ELPA
(add-to-list 'load-path "~/.emacs.d/elpa")
(defun install-elpa ()
(eval-url "http://tromey.com/elpa/package-install.el"))
(if (require 'package nil t)
(progn
;; Emacs 24+ includes ELPA, but requires some extra setup
;; to use the (better) tromey repo
(if (>= emacs-major-version 24)
(setq package-archives
(cons '("tromey" . "http://tromey.com/elpa/")
package-archives)))
(package-initialize))
(install-elpa))
;; Load el-get
(add-to-list 'load-path "~/.emacs.d/el-get/el-get")
(defun install-el-get ()
(eval-url
"https://github.com/dimitri/el-get/raw/master/el-get-install.el"))
(unless (require 'el-get nil t)
(install-el-get))
;; extra recipes for packages unknown to el-get (yet)
(setq el-get-sources
'((:name css-mode :type elpa)
(:name js2-mode-mooz
:type git
:url "git://github.com/mooz/js2-mode.git"
:load "js2-mode.el"
:compile ("js2-mode.el")
:features js2-mode)))
;; list all packages you want installed
(setq my-el-get-packages
(append
'(evil color-theme js2-mode-mooz python-mode
haskell-mode haml-mode clojure-mode
coffee-mode undo-tree)
(mapcar 'el-get-source-name el-get-sources)))
(el-get 'sync my-el-get-packages)
(require 'coffee-mode)
(require 'python-mode)
(autoload 'js2-mode "js2-mode" nil t)
(add-to-list 'auto-mode-alist '("\\.js$" . js2-mode))
;; Evil
(setq evil-move-cursor-back nil)
(setq evil-default-cursor t)
(require 'evil)
(evil-mode 1)
;; Remap org-mode meta keys for convenience
(mapcar (lambda (state)
(evil-declare-key state org-mode-map
(kbd "M-l") 'org-metaright
(kbd "M-h") 'org-metaleft
(kbd "M-k") 'org-metaup
(kbd "M-j") 'org-metadown
(kbd "M-L") 'org-shiftmetaright
(kbd "M-H") 'org-shiftmetaleft
(kbd "M-K") 'org-shiftmetaup
(kbd "M-J") 'org-shiftmetadown))
'(normal insert))
;; Colors
(add-to-list 'load-path "~/.emacs.d/colors")
(require 'color-theme)
;(require 'color-theme-gruber-darker)
;(color-theme-gruber-darker)
(require 'color-theme-molokai)
(color-theme-molokai)