X-Git-Url: https://git.friedersdorff.com/?a=blobdiff_plain;f=emacs%2F.emacs;h=040b49d97e0e2497d5626318721274f74dc11982;hb=50285a8d49aef2f795f7b9a0c286ffa9dea39474;hp=b731c30f1a3def467a7d93bdb0186ae5794280e1;hpb=d0abb2a545eb3507b4d6932825ac62f011273f6b;p=max%2Fdotfiles.git diff --git a/emacs/.emacs b/emacs/.emacs index b731c30..040b49d 100644 --- a/emacs/.emacs +++ b/emacs/.emacs @@ -15,14 +15,14 @@ '(custom-enabled-themes (quote (molokai))) '(custom-safe-themes (quote - ("4e753673a37c71b07e3026be75dc6af3efbac5ce335f3707b7d6a110ecb636a3" "b571f92c9bfaf4a28cb64ae4b4cdbda95241cd62cf07d942be44dc8f46c491f4" default))) + ("3c83b3676d796422704082049fc38b6966bcad960f896669dfc21a7a37a748fa" "4e753673a37c71b07e3026be75dc6af3efbac5ce335f3707b7d6a110ecb636a3" "b571f92c9bfaf4a28cb64ae4b4cdbda95241cd62cf07d942be44dc8f46c491f4" default))) '(fci-rule-color "#383838") '(nrepl-message-colors (quote ("#CC9393" "#DFAF8F" "#F0DFAF" "#7F9F7F" "#BFEBBF" "#93E0E3" "#94BFF3" "#DC8CC3"))) '(package-selected-packages (quote - (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))) + (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))) '(pdf-view-midnight-colors (quote ("#DCDCCC" . "#383838"))) '(vc-annotate-background "#2B2B2B") '(vc-annotate-color-map @@ -57,6 +57,8 @@ (make-directory "~/.emacs.d/autosaves/" t) (use-package evil + :init + (setq evil-want-C-i-jump nil) :ensure t :config (evil-mode 1)) @@ -66,6 +68,7 @@ (use-package org-evil :ensure t) + (use-package flycheck :ensure t :init (global-flycheck-mode)) @@ -89,20 +92,20 @@ (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 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-style '(face tabs tab-mark)) (setq whitespace-line-column 80) (global-whitespace-mode +1)) @@ -114,68 +117,38 @@ (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 wanderlust +(use-package yaml-mode :ensure t) -(use-package mu4e +(use-package jl-encrypt) + +(use-package smart-mode-line + :ensure t + :config + (sml/setup)) + +(use-package smart-tabs-mode + :ensure t :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) - (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-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 - :to "max\+?.*@frie(dersdorff)?.com")) - :vars '((user-mail-address . "max@friedersdorff.com") - (user-full-name . "Maximilian Friedersdorff") - (mu4e-sent-folder . "/personal/Sent") - (mu4e-drafts-folder . "/personal/Drafts") - (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 - :to "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) - (mu4e-drafts-folder . "/personal-gmail/Drafts") - (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 - :to "maf54\+?.*@aber.ac.uk")) - :vars '((user-mail-address . "maf54@aber.ac.uk") - (user-full-name . "Maximilian Friedersdorff") - (mu4e-sent-folder . "/aber/Sent") - (mu4e-drafts-folder . "/aber/Drafts") - (mu4e-trash-folder . "/aber/Trash") - (smtpmail-smtp-server . "smtp.office365.com") - (smtpmail-smtp-service . 587)))) - - mu4e-context-policy 'pick-first)) + (smart-tabs-insinuate 'c)) + +(use-package fill-column-indicator + :ensure t + :config + (setq fci-rule-column 80) + (add-hook 'after-change-major-mode-hook 'fci-mode)) ;;;(global-company-mode) @@ -185,3 +158,41 @@ (eval-after-load 'company '(add-to-list 'company-backends 'company-jedi)) + +(eval-after-load 'autoinsert + '(define-auto-insert '("\\.org\\'" . "Org header") + '( + "Hides all but one star and uncollapses everything." + "#+STARTUP: hidestars showall\n\n" + _))) + +(add-hook 'find-file-hook 'auto-insert) + +; Sane C formatting + +(defun c-lineup-arglist-tabs-only (ignored) + "Line up argument lists by tabs, not spaces." + (let* ((anchor (c-langelem-pos c-syntactic-element)) + (column (c-langelem-2nd-pos c-syntactic-element)) + (offset (- (1+ column) anchor)) + (steps (floor offset c-basic-offset))) + (* (max steps 1) + c-basic-offset))) + +(add-hook 'c-mode-common-hook + (lambda () + ;; Add kernel style + (c-add-style + "linux-tabs-only" + '("linux" (c-offsets-alist + (arglist-cont-nonempty + c-lineup-gcc-asm-reg + c-lineup-arglist-tabs-only)))))) + +(add-hook 'c-mode-hook + (lambda () + (let ((filename (buffer-file-name))) + ;; Enable kernel mode for the appropriate files + (setq indent-tabs-mode t) + (setq show-trailing-whitespace t) + (c-set-style "linux-tabs-only")))))