]> git.friedersdorff.com Git - max/dotfiles.git/blobdiff - emacs/.emacs
Merge branch 'master' of git.friedersdorff.com:max/dotfiles
[max/dotfiles.git] / emacs / .emacs
index da4d39a6796171328c2ee3aa93ec4095773cdf29..a9e7eab1159ef143015d3f4050d67a77c34ffcc4 100644 (file)
@@ -6,7 +6,46 @@
  ;; 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.
- '(package-selected-packages (quote (org evil))))
+ '(ansi-color-faces-vector
+   [default default default italic underline success warning error])
+ '(ansi-color-names-vector
+   ["#212526" "#ff4b4b" "#b4fa70" "#fce94f" "#729fcf" "#e090d7" "#8cc4ff" "#eeeeec"])
+ '(auto-save-file-name-transforms (quote ((".*" "~/.emacs.d/autosaves/\\1" t))))
+ '(backup-directory-alist (quote ((".*" . "~/.emacs.d/backups/"))))
+ '(custom-enabled-themes (quote (molokai)))
+ '(custom-safe-themes
+   (quote
+    ("3c83b3676d796422704082049fc38b6966bcad960f896669dfc21a7a37a748fa" "4e753673a37c71b07e3026be75dc6af3efbac5ce335f3707b7d6a110ecb636a3" "b571f92c9bfaf4a28cb64ae4b4cdbda95241cd62cf07d942be44dc8f46c491f4" default)))
+ '(fci-rule-color "#383838")
+ '(nrepl-message-colors
+   (quote
+    ("#CC9393" "#DFAF8F" "#F0DFAF" "#7F9F7F" "#BFEBBF" "#93E0E3" "#94BFF3" "#DC8CC3")))
+ '(package-selected-packages
+   (quote
+    (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)))
+ '(pdf-view-midnight-colors (quote ("#DCDCCC" . "#383838")))
+ '(vc-annotate-background "#2B2B2B")
+ '(vc-annotate-color-map
+   (quote
+    ((20 . "#BC8383")
+     (40 . "#CC9393")
+     (60 . "#DFAF8F")
+     (80 . "#D0BF8F")
+     (100 . "#E0CF9F")
+     (120 . "#F0DFAF")
+     (140 . "#5F7F5F")
+     (160 . "#7F9F7F")
+     (180 . "#8FB28F")
+     (200 . "#9FC59F")
+     (220 . "#AFD8AF")
+     (240 . "#BFEBBF")
+     (260 . "#93E0E3")
+     (280 . "#6CA0A3")
+     (300 . "#7CB8BB")
+     (320 . "#8CD0D3")
+     (340 . "#94BFF3")
+     (360 . "#DC8CC3"))) t)
+ '(vc-annotate-very-old-color "#DC8CC3"))
 (custom-set-faces
  ;; custom-set-faces was added by Custom.
  ;; If you edit it by hand, you could mess it up, so be careful.
  ;; If there is more than one, they won't work right.
  )
 
-(require 'evil)
-(evil-mode 1)
+;; Create autosave dir
+(make-directory "~/.emacs.d/autosaves/" t)
 
+(use-package evil
+  :init
+  (setq evil-want-C-i-jump nil)
+  :ensure t
+  :config (evil-mode 1))
 
-(load-theme 'molokai t)
+(use-package org
+  :ensure t)
+
+(use-package org-evil
+  :ensure t)
+
+(use-package flycheck
+  :ensure t
+  :init (global-flycheck-mode))
+
+(use-package flycheck-mypy
+  :ensure t)
+
+(use-package helm-config
+  :ensure helm
+  :config
+  (helm-mode 1)
+  (global-set-key (kbd "M-x") 'helm-M-x))
+
+(use-package projectile
+  :ensure t)
+
+(use-package helm-projectile
+  :ensure t
+  :config
+  (projectile-global-mode)
+  (setq projectile-completion-system 'helm)
+  (helm-projectile-on))
+
+(use-package highlight-indent-guides
+  :ensure t
+  :config
+  (add-hook 'prog-mode-hook 'highlight-indent-guides-mode)
+  (setq highlight-indent-guides-method 'character)
+  (setq highlight-indent-guides-character ?\|)
+  (set-face-foreground 'highlight-indent-guides-character-face "darkgray"))
+
+(use-package jinja2-mode
+  :ensure t)
+
+(use-package whitespace
+  :config
+  (setq whitespace-style '(face lines))
+  (setq whitespace-line-column 80)
+  (global-whitespace-mode +1))
+
+(use-package magit
+  :ensure t
+  :config
+  (global-set-key (kbd "C-x g") 'magit-status))
+
+(use-package evil-magit
+  :ensure t)
+
+(use-package editorconfig
+  :ensure t
+  :init
+  (add-hook 'prog-mode-hook (editorconfig-mode 1))
+  (add-hook 'text-mode-hook (editorconfig-mode 1)))
+
+(use-package js2-mode
+  :ensure t
+  :config
+  (add-to-list 'auto-mode-alist '("\\.js\\'" . js2-mode))
+  (setq js2-strict-missing-semi-warning nil))
+
+(use-package yaml-mode
+  :ensure t)
+
+(use-package mu4e
+  :config
+  (setq
+   mu4e-maildir "~/mail"
+   mu4e-get-mail-command
+   (concat "/usr/bin/mbsync -c /home/max/.mbsync/personal.mbsync -a &&"
+          "/usr/bin/mbsync -c /home/max/.mbsync/personal-gmail.mbsync -a &&"
+          "/usr/bin/mbsync -c /home/max/.mbsync/aber.mbsync -a")
+   mu4e-update-interval 60)
+  ; Force mu4e to rename file on moving
+  (setq mu4e-change-filenames-when-moving t)
+  (setq
+   message-send-mail-function 'smtpmail-send-it
+   smtpmail-default-smtp-server "mail.friedersdorff.com"
+   smtpmail-auth-credentials (expand-file-name "~/.authinfo.gpg"))
+  (setq mu4e-drafts-folder "/Drafts")
+  (setq mu4e-contexts
+       `( , (make-mu4e-context
+             :name "Personal"
+             :enter-func (lambda () (mu4e-message "Switch to Peronal context"))
+             :match-func (lambda (msg)
+                           (when msg
+                             (mu4e-message-contact-field-matches
+                              msg (list :to :cc :bcc)
+                              "max\\+?.*@frie\\(dersdorff\\)?.com")))
+             :vars '((user-mail-address . "max@friedersdorff.com")
+                     (user-full-name . "Maximilian Friedersdorff")
+                     (mu4e-sent-folder . "/personal/Sent")
+                     (mu4e-trash-folder . "/personal/Trash")
+                     (smtpmail-smtp-server . "mail.friedersdorff.com")
+                     (smtpmail-smtp-service . 587))),
+           (make-mu4e-context
+            :name "Gmail"
+            :enter-func (lambda () (mu4e-message "Switch to Gmail context"))
+            :match-func (lambda (msg)
+                          (when msg
+                            (mu4e-message-contact-field-matches
+                             msg (list :to :cc :bcc)
+                             "maxf130\\+?.*@gmail.com")))
+            :vars '((user-mail-address . "maxf130@gmail.com")
+                    (user-full-name . "Maximilian Friedersdorff")
+                    (mu4e-sent-folder . "/personal-gmail/Sent")
+                    (mu4e-sent-messages-behaviour . 'delete)
+                    (smtpmail-smtp-server . "smtp.gmail.com")
+                    (smtpmail-smtp-service . 587))),
+           (make-mu4e-context
+            :name "Aber"
+            :enter-func (lambda () (mu4e-message "Switch to Aber context"))
+            :match-func (lambda (msg)
+                          (when msg
+                            (mu4e-message-contact-field-matches
+                             msg (list :to :cc :bcc)
+                             ".*@aber.ac.uk")))
+            :vars '((user-mail-address . "maf54@aber.ac.uk")
+                    (user-full-name . "Maximilian Friedersdorff")
+                    (mu4e-sent-folder . "/aber/Sent")
+                    (mu4e-trash-folder . "/aber/Trash")
+                    (smtpmail-smtp-server . "smtp.office365.com")
+                    (smtpmail-smtp-service . 587))))
+
+       mu4e-context-policy 'pick-first)
+  (setq mu4e-html2text-command "lynx -stdin -dump -force_html")
+  (add-to-list 'mu4e-bookmarks
+              '((concatenate
+                 'string
+                 "flag:unread "
+                 "AND ( "
+                 "maildir:/personal/Inbox OR "
+                 "maildir:/personal/slackware OR "
+                 "maildir:/personal-gmail/Inbox OR "
+                 "maildir:/aber/Inbox "
+                 ")") "Unread Interesting Messages" ?i)
+              )
+  (setq mu4e-view-show-images t)
+  (setq mu4e-compose-crypto-reply-policy 'sign-and-encrypt)
+  (setq mml-secure-openpgp-sign-with-sender t)
+  (setq mml-default-encrypt-method "pgpmime")
+  (add-hook 'mu4e-compose-mode-hook 'mml-secure-message-sign)
+  )
+
+(use-package mu4e-alert
+  :ensure t
+  :config
+  (setq mu4e-alert-interesting-mail-query
+       (concatenate
+        'string
+        "flag:unread "
+        "AND ( "
+        "maildir:/personal/Inbox OR "
+        "maildir:/personal/slackware OR "
+        "maildir:/personal-gmail/Inbox OR "
+        "maildir:/aber/Inbox "
+        ")"))
+  (mu4e-alert-set-default-style 'libnotify)
+  (add-hook 'after-init-hook #'mu4e-alert-enable-notifications))
+
+(use-package jl-encrypt)
+
+(use-package smart-mode-line
+  :ensure t
+  :config
+  (sml/setup))
+
+
+;;;(global-company-mode)
+;;;(add-hook 'after-init-hook 'global-company-mode)
+
+(add-hook 'prog-mode-hook 'electric-pair-mode)
+
+(eval-after-load 'company
+  '(add-to-list 'company-backends 'company-jedi))