1
0
mirror of https://github.com/balkian/dotfiles.git synced 2024-12-24 01:18:12 +00:00

Updated emacs' config

This commit is contained in:
J. Fernando Sánchez 2016-10-08 00:48:25 +02:00
parent ea3d2edc97
commit 23556fddf2
2 changed files with 208 additions and 35 deletions

View File

@ -5,7 +5,8 @@
;; If there is more than one, they won't work right.
'(custom-safe-themes
(quote
("196cc00960232cfc7e74f4e95a94a5977cb16fd28ba7282195338f68c84058ec" default))))
("3a3917dbcc6571ef3942c2bf4c4240f70b5c4bc0b28192be6d3f9acd83607a24" "b6db49cec08652adf1ff2341ce32c7303be313b0de38c621676122f255ee46db" "b6d649c9f972b491686e7fa634535653e6222c1faca1ab71b3117854470a79ae" "0ae52e74c576120c6863403922ee00340a3bf3051615674c4b937f9c99b24535" "b2028956188cf668e27a130c027e7f240c24c705c1517108b98a9645644711d9" "03e3e79fb2b344e41a7df897818b7969ca51a15a67dc0c30ebbdeb9ea2cd4492" "232f715279fc131ed4facf6a517b84d23dca145fcc0e09c5e0f90eb534e1680f" "aed73c6d0afcf2232bb25ed2d872c7a1c4f1bda6759f84afc24de6a1aec93da8" "0b6645497e51d80eda1d337d6cabe31814d6c381e69491931a688836c16137ed" "cdfb22711f64d0e665f40b2607879fcf2607764b2b70d672ddaa26d2da13049f" "196cc00960232cfc7e74f4e95a94a5977cb16fd28ba7282195338f68c84058ec" default)))
)
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.

View File

@ -268,7 +268,15 @@
(use-package monokai-theme
:ensure t
:config (progn
(load-theme 'monokai)
(load-theme 'base16-default-dark)
)
)
(use-package slime
:config (progn
(setq inferior-lisp "/usr/bin/sbcl")
(setq inferior-lisp-program (executable-find "sbcl"))
(setq slime-contribs '(slime-fancy))
)
)
@ -311,14 +319,48 @@
)
)
(use-package go-mode
:init (progn
(use-package go-autocomplete :ensure
:config (progn
(use-package auto-complete-config)
(ac-config-default)
)
)
(defun my-go-mode-hook ()
; Use goimports instead of go-fmt
(setq gofmt-command "goimports")
; Call Gofmt before saving
(add-hook 'before-save-hook 'gofmt-before-save)
; Customize compile command to run go build
(if (not (string-match "go" compile-command))
(set (make-local-variable 'compile-command)
"go build -v && go test -v && go vet"))
; Godef jump key binding
(local-set-key (kbd "M-.") 'godef-jump))
(add-hook 'go-mode-hook 'my-go-mode-hook)
)
)
(use-package flymake-go
:ensure
:init (progn
)
)
(use-package org
:ensure t
:config (progn
;; (use-package evil-org :ensure t)
(use-package evil-org :ensure t)
(define-key global-map "\C-cl" 'org-store-link)
(define-key global-map "\C-ca" 'org-agenda)
(evil-leader/set-key "a" 'org-agenda)
;; (evil-org-mode)
(evil-org-mode)
(add-hook 'org-capture-mode-hook 'evil-insert-state)
(setq org-log-done t)
@ -352,6 +394,54 @@
(:endgroup . nil)
)
)
(defun org-archive-done-tasks ()
(interactive)
(org-map-entries
(lambda ()
(org-archive-subtree)
(setq org-map-continue-from (outline-previous-heading)))
"/DONE" 'file))
(define-key org-mode-map "\C-cd" 'org-archive-done-tasks)
(setq org-capture-templates
(quote
(("i" "Ideas" entry
(file "ideas.org")
"* %?" nil nil)
("t" "Tasks" entry
(file "tasks.org")
"* TODO %?\n\t%i"))))
(defadvice org-capture-finalize
(after delete-capture-frame activate)
"Advise capture-finalize to close the frame"
(if (equal "capture" (frame-parameter nil 'name))
(delete-frame)))
(defadvice org-capture-destroy
(after delete-capture-frame activate)
"Advise capture-destroy to close the frame"
(if (equal "capture" (frame-parameter nil 'name))
(delete-frame)))
;; make the frame contain a single window. by default org-capture
;; splits the window.
(add-hook 'org-capture-mode-hook
'delete-other-windows)
(defun make-capture-frame ()
"Create a new frame and run org-capture."
(interactive)
(make-frame '((name . "capture")
(width . 120)
(height . 15)))
(select-frame-by-name "capture")
(setq word-wrap 1)
(setq truncate-lines nil)
(org-capture)
(delete-other-windows)
)
)
)
@ -390,15 +480,16 @@
:init
:config (progn
(use-package evil-paredit
(use-package evil-smartparens
:ensure)
(add-hook 'clojure-mode-hook 'smartparens-mode)
(add-hook 'cider-repl-mode-hook 'evil-smartparens-mode-mode)
(add-hook 'lisp-mode-hook 'evil-smartparens-mode-mode)
(add-hook 'emacs-lisp-mode-hook 'evil-smartparens-mode-mode)
(add-hook 'lisp-interaction-mode-hook 'evil-smartparens-mode-mode)
(add-hook 'ielm-mode-hook 'evil-smartparens-mode-mode)
:ensure
:config (progn
(use-package evil-smartparens :ensure)
(add-hook 'clojure-mode-hook 'smartparens-mode)
(add-hook 'cider-repl-mode-hook 'evil-smartparens-mode)
(add-hook 'lisp-mode-hook 'evil-smartparens-mode)
(add-hook 'emacs-lisp-mode-hook 'evil-smartparens-mode)
(add-hook 'lisp-interaction-mode-hook 'evil-smartparens-mode)
(add-hook 'ielm-mode-hook 'evil-smartparens-mode)
)
)
)
)
@ -414,37 +505,111 @@
:config (progn
)
)
(use-package mu4e
:init
:config (progn
(use-package smtpmail
:ensure)
(setq mu4e-contexts
`( ,(make-mu4e-context
:name "Private"
:enter-func (lambda () (mu4e-message "Switch to the GMAIL context"))
;; leave-func not defined
:match-func (lambda (msg)
(when msg
(mu4e-message-contact-field-matches msg
:to "jfsanchezrada@gmail.com")))
:vars '(
(smtpmail-starttls-credentials '("smtp.gmail.com" 587 nil nil))
(smtpmail-auth-credentials '(("smtp.gmail.com" 587 "jfsanchezrada@gmail.com" nil)))
(smtpmail-default-smtp-server "smtp.gmail.com")
(smtpmail-smtp-server "smtp.gmail.com")
(smtpmail-smtp-service 587)
(smtpmail-debug-info t)
( user-mail-address . "jfsanchezrada@gmail.com" )
( user-full-name . "J. Fernando Sánchez Rada" )
( mu4e-compose-signature . "J. Fernando Sánchez\n")))
,(make-mu4e-context
:name "Sinpapel"
:enter-func (lambda () (mu4e-message "Switch to the Personal context"))
;; leave-fun not defined
:match-func (lambda (msg)
(when msg
(mu4e-message-contact-field-matches msg
:to "j@sinpapel.es")))
:vars '(
(smtpmail-starttls-credentials '(("smtp.sinpapel.es" 587 nil nil)))
(smtpmail-auth-credentials '(("smtp.sinpapel.es" 587 "j@sinpapel.es" nil)))
(smtpmail-default-smtp-server "smtp.sinpapel.es")
(smtpmail-smtp-server "smtp.sinpapel.es")
(smtpmail-smtp-service 587)
(smtpmail-debug-info t)
( user-mail-address . "j@sinpapel.es" )
( user-full-name . "J. Fernando Sánchez Rada" )
( mu4e-compose-signature .
"J. Fernando Sánchez\n"))))
)
(setq message-send-mail-function 'smtpmail-send-it
starttls-use-gnutls t
smtpmail-debug-info t)
(setq mu4e-maildir (expand-file-name "~/.mail/"))
(setq mu4e-drafts-folder "/Drafts")
(setq mu4e-sent-folder "/Sent Items")
(setq mu4e-trash-folder "/Trash")
(setq message-signature-file "~/.emacs.d/.signature") ; put your signature in this file
(setq mu4e-get-mail-command "mbsync gmail-inbox balkian"
mu4e-html2text-command "w3m -T text/html"
mu4e-update-interval 300
mu4e-headers-auto-update t
mu4e-compose-signature-auto-include nil)
(add-to-list 'mu4e-view-actions
'("ViewInBrowser" . mu4e-action-view-in-browser) t)
(setq mu4e-maildir-shortcuts
'( ("/gmail/INBOX" . ?i)
("/Sent Items" . ?s)
("/Trash" . ?t)
("/Drafts" . ?d)))
;; use imagemagick if available
(when (fboundp 'imagemagick-register-types)
(imagemagick-register-types))
;; general emacs mail settings; used when composing e-mail
;; the non-mu4e-* stuff is inherited from emacs/message-mode
(setq mu4e-reply-to-address "jfsanchezrada@gmail.com"
user-mail-address "jfsanchezrada@gmail.com"
user-full-name "J. Fernando Sánchez")
;; show images
(setq mu4e-show-images t
mu4e-show-addresses t)
;; don't save message to Sent Messages, IMAP takes care of this
(setq mu4e-sent-messages-behavior 'delete)
(add-hook 'mu4e-compose-mode-hook
(defun my-do-compose-stuff ()
"My settings for message composition."
(set-fill-column 72)
(flyspell-mode)))
)
)
;;; Global emacs settings
;; disable splash screen
(setq inhibit-splash-screen t)
(setq initial-scratch-message "\
;;
;; _.--. .--._
;; .\" .\" \". \".
;; ; .\" /\\ \". ;
;; ; '._,-/ \\-,_.` ;
;; \\ ,` / /\\ \\ `, /
;; \\/ \\/ \\/ \\/
;; ,=_ \\/\\/ _=,
;; | \"_ \\/ _\" |
;; |_ '\"-..-\"' _|
;; | \"-. .-\" |
;; | \"\\ /\" |
;; | | | |
;; ___ | | | | ___
;; _,-\", \", '_ | | _' ,\" ,\"-,_
;; _( \\ \\ \\\"=--\"-. | | .-\"--=\"/ / / )_
;; ,\" \\ \\ \\ \\ \"-'--'-\" / / / / \".
;;! \\ \\ \\ \\ / / / / !
;;: \\ \\ \\ \\ / / / / TK
;;
;; 'TIS BUT A SCRATCH!!
;; SCRATCHPAD
")
(setq truncate-partial-width-windows nil)
(set-default 'truncate-lines nil)
;;; Highlight line
(global-hl-line-mode)
;(set-face-background 'hl-line 'highlight-color)
;; (set-face-background 'hl-line 'highlight-color)
(setq-default indent-tabs-mode nil)
(setq tab-width 4)
(setq default-tab-width 4);
@ -468,7 +633,7 @@
;; set a default font
(add-to-list 'default-frame-alist '(font . "DejaVu Sans Mono-10"))
(add-to-list 'default-frame-alist '(font . "DejaVu Sans Mono-12"))
;; emacs doesn't actually save undo history with revert-buffer
;; see http://lists.gnu.org/archive/html/bug-gnu-emacs/2011-04/msg00151.html
;; fix that.
@ -500,6 +665,13 @@
)
)
(use-package exec-path-from-shell
:ensure
:config (progn
(exec-path-from-shell-initialize)
)
)
(eval-after-load 'tramp '(setenv "SHELL" "/bin/bash"))
(setq tramp-default-method "ssh")