]> git.friedersdorff.com Git - max/dotfiles.git/blob - emacs/.emacs
Merge branch 'master' of git.friedersdorff.com:max/dotfiles
[max/dotfiles.git] / emacs / .emacs
1 (require 'package)
2 (add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/"))
3 (package-initialize)
4 (custom-set-variables
5  ;; custom-set-variables was added by Custom.
6  ;; If you edit it by hand, you could mess it up, so be careful.
7  ;; Your init file should contain only one such instance.
8  ;; If there is more than one, they won't work right.
9  '(ansi-color-faces-vector
10    [default default default italic underline success warning error])
11  '(ansi-color-names-vector
12    ["#212526" "#ff4b4b" "#b4fa70" "#fce94f" "#729fcf" "#e090d7" "#8cc4ff" "#eeeeec"])
13  '(auto-save-file-name-transforms (quote ((".*" "~/.emacs.d/autosaves/\\1" t))))
14  '(backup-directory-alist (quote ((".*" . "~/.emacs.d/backups/"))))
15  '(custom-enabled-themes (quote (molokai)))
16  '(custom-safe-themes
17    (quote
18     ("3c83b3676d796422704082049fc38b6966bcad960f896669dfc21a7a37a748fa" "4e753673a37c71b07e3026be75dc6af3efbac5ce335f3707b7d6a110ecb636a3" "b571f92c9bfaf4a28cb64ae4b4cdbda95241cd62cf07d942be44dc8f46c491f4" default)))
19  '(fci-rule-color "#383838")
20  '(nrepl-message-colors
21    (quote
22     ("#CC9393" "#DFAF8F" "#F0DFAF" "#7F9F7F" "#BFEBBF" "#93E0E3" "#94BFF3" "#DC8CC3")))
23  '(package-selected-packages
24    (quote
25     (fill-column-indicator column-marker smart-tabs-mode smart-mode-line sml mu4e-alert yaml-mode minimap js2-mode editorconfig wanderlust evil-magit evil-leader evil-org molokai-theme org-evil flycheck-mypy jinja2 jinja2-mode highlight-indent-guides projectile helm-projectile zenburn-theme helm helm-config use-package flycheck company-jedi company org evil)))
26  '(pdf-view-midnight-colors (quote ("#DCDCCC" . "#383838")))
27  '(vc-annotate-background "#2B2B2B")
28  '(vc-annotate-color-map
29    (quote
30     ((20 . "#BC8383")
31      (40 . "#CC9393")
32      (60 . "#DFAF8F")
33      (80 . "#D0BF8F")
34      (100 . "#E0CF9F")
35      (120 . "#F0DFAF")
36      (140 . "#5F7F5F")
37      (160 . "#7F9F7F")
38      (180 . "#8FB28F")
39      (200 . "#9FC59F")
40      (220 . "#AFD8AF")
41      (240 . "#BFEBBF")
42      (260 . "#93E0E3")
43      (280 . "#6CA0A3")
44      (300 . "#7CB8BB")
45      (320 . "#8CD0D3")
46      (340 . "#94BFF3")
47      (360 . "#DC8CC3"))) t)
48  '(vc-annotate-very-old-color "#DC8CC3"))
49 (custom-set-faces
50  ;; custom-set-faces was added by Custom.
51  ;; If you edit it by hand, you could mess it up, so be careful.
52  ;; Your init file should contain only one such instance.
53  ;; If there is more than one, they won't work right.
54  )
55
56 ;; Create autosave dir
57 (make-directory "~/.emacs.d/autosaves/" t)
58
59 (use-package evil
60   :init
61   (setq evil-want-C-i-jump nil)
62   :ensure t
63   :config (evil-mode 1))
64
65 (use-package org
66   :ensure t)
67
68 (use-package org-evil
69   :ensure t)
70
71
72 (use-package flycheck
73   :ensure t
74   :init (global-flycheck-mode))
75
76 (use-package flycheck-mypy
77   :ensure t)
78
79 (use-package helm-config
80   :ensure helm
81   :config
82   (helm-mode 1)
83   (global-set-key (kbd "M-x") 'helm-M-x))
84
85 (use-package projectile
86   :ensure t)
87
88 (use-package helm-projectile
89   :ensure t
90   :config
91   (projectile-global-mode)
92   (setq projectile-completion-system 'helm)
93   (helm-projectile-on))
94
95 ;(use-package highlight-indent-guides
96 ;  :ensure t
97 ;  :config
98 ;  (add-hook 'prog-mode-hook 'highlight-indent-guides-mode)
99 ;  (setq highlight-indent-guides-method 'character)
100 ;  (setq highlight-indent-guides-character ?\|)
101 ;  (set-face-foreground 'highlight-indent-guides-character-face "darkgray"))
102
103 (use-package jinja2-mode
104   :ensure t)
105
106 (use-package whitespace
107   :config
108   (setq whitespace-style '(face tabs tab-mark))
109   (setq whitespace-line-column 80)
110   (global-whitespace-mode +1))
111
112 (use-package magit
113   :ensure t
114   :config
115   (global-set-key (kbd "C-x g") 'magit-status))
116
117 (use-package evil-magit
118   :ensure t)
119
120 (use-package editorconfig
121   :ensure t
122   :init
123   (add-hook 'prog-mode-hook (editorconfig-mode 1))
124   (add-hook 'text-mode-hook (editorconfig-mode 1)))
125
126 (use-package js2-mode
127   :ensure t
128   :config
129   (add-to-list 'auto-mode-alist '("\\.js\\'" . js2-mode))
130   (setq js2-strict-missing-semi-warning nil))
131
132 (use-package yaml-mode
133   :ensure t)
134
135 (use-package jl-encrypt)
136
137 (use-package smart-mode-line
138   :ensure t
139   :config
140   (sml/setup))
141
142 (use-package smart-tabs-mode
143   :ensure t
144   :config
145   (smart-tabs-insinuate 'c))
146
147 (use-package fill-column-indicator
148   :ensure t
149   :config
150   (setq fci-rule-column 80)
151   (add-hook 'after-change-major-mode-hook 'fci-mode))
152
153
154 ;;;(global-company-mode)
155 ;;;(add-hook 'after-init-hook 'global-company-mode)
156
157 (add-hook 'prog-mode-hook 'electric-pair-mode)
158
159 (eval-after-load 'company
160   '(add-to-list 'company-backends 'company-jedi))
161
162 (eval-after-load 'autoinsert
163   '(define-auto-insert '("\\.org\\'" . "Org header")
164      '(
165        "Hides all but one star and uncollapses everything."
166        "#+STARTUP: hidestars showall\n\n"
167        _)))
168
169 (add-hook 'find-file-hook 'auto-insert)
170
171 ; Sane C formatting
172
173 (defun c-lineup-arglist-tabs-only (ignored)
174   "Line up argument lists by tabs, not spaces."
175   (let* ((anchor (c-langelem-pos c-syntactic-element))
176          (column (c-langelem-2nd-pos c-syntactic-element))
177          (offset (- (1+ column) anchor))
178          (steps (floor offset c-basic-offset)))
179     (* (max steps 1)
180        c-basic-offset)))
181
182 (add-hook 'c-mode-common-hook
183           (lambda ()
184             ;; Add kernel style
185             (c-add-style
186              "linux-tabs-only"
187              '("linux" (c-offsets-alist
188                         (arglist-cont-nonempty
189                          c-lineup-gcc-asm-reg
190                          c-lineup-arglist-tabs-only))))))
191
192 (add-hook 'c-mode-hook
193           (lambda ()
194             (let ((filename (buffer-file-name)))
195               ;; Enable kernel mode for the appropriate files
196               (setq indent-tabs-mode t)
197               (setq show-trailing-whitespace t)
198               (c-set-style "linux-tabs-only")))))