X-Git-Url: https://git.shemshak.org/~bandali/configs/blobdiff_plain/1f2bc66e0bca8d87124ddf3319fbc51a26af109b..46467dc3be8cb1d218abb936c1eb21ad7313f7f3:/init.org diff --git a/init.org b/init.org index d54b9af..13a3c8f 100644 --- a/init.org +++ b/init.org @@ -708,6 +708,8 @@ In short, my favourite way of life. ("\\subparagraph{%s}" . "\\subparagraph*{%s}")) t)) +(use-package ox-beamer) + (use-package org-notmuch :after (:any org notmuch)) @@ -781,21 +783,22 @@ Not just how I do git, but /the/ way to do git. ("SPC" . magit-status) ("s" . magit-status) ("S" . magit-status-prefix) - ("B" . magit-blame) + ("B" . magit-blame-addition) ("C" . magit-clone) - ("f" . magit-fetch) - ("F" . magit-pull) - ("P" . magit-push) + ("f" . magit-fetch-other) + ("F" . magit-pull-branch) + ("P" . magit-push-other) ("p" . magit-dispatch-popup) - ("c c" . magit-commit) + ("c c" . magit-commit-create) ("c a" . magit-commit-amend) ("b b" . magit-checkout) - ("b c" . magit-branch)) + ("b c" . magit-branch-create)) :config (magit-add-section-hook 'magit-status-sections-hook 'magit-insert-modules 'magit-insert-stashes - 'append)) + 'append) + :custom-face (magit-diff-file-heading ((t (:weight normal))))) #+end_src *** [[https://github.com/abo-abo/swiper][Ivy]] (and friends) @@ -821,15 +824,19 @@ There's no way I could top that, so I won't attempt to. ("DEL" . ivy-backward-delete-char)) :config (setq ivy-wrap t) - (ivy-mode 1)) + (ivy-mode 1) + :custom-face + (ivy-minibuffer-match-face-2 ((t (:background "#e99ce8" :weight semi-bold)))) + (ivy-minibuffer-match-face-3 ((t (:background "#bbbbff" :weight semi-bold)))) + (ivy-minibuffer-match-face-4 ((t (:background "#ffbbff" :weight semi-bold))))) #+end_src **** Swiper #+begin_src emacs-lisp (use-package swiper - :bind (([remap isearch-forward] . swiper) - ([remap isearch-backward] . swiper))) + :bind (("C-s" . swiper) + ("C-r" . swiper))) #+end_src **** Counsel @@ -902,7 +909,7 @@ There's no way I could top that, so I won't attempt to. (ibuffer-saved-filter-groups '(("default" ("dired" (mode . dired-mode)) - ("org" (name . "^.*org$")) + ("org" (mode . org-mode)) ("web" (or (mode . web-mode) @@ -1075,6 +1082,31 @@ TODO: break this giant source block down into individual org sections. ;; Only flycheck when I actually save the buffer (setq flycheck-check-syntax-automatically '(mode-enabled save))) + +;; http://endlessparentheses.com/ispell-and-apostrophes.html +(use-package ispell + :config + ;; ’ can be part of a word + (setq ispell-local-dictionary-alist + `((nil "[[:alpha:]]" "[^[:alpha:]]" + "['\x2019]" nil ("-B") nil utf-8))) + ;; don't send ’ to the subprocess + (defun endless/replace-apostrophe (args) + (cons (replace-regexp-in-string + "’" "'" (car args)) + (cdr args))) + (advice-add #'ispell-send-string :filter-args + #'endless/replace-apostrophe) + + ;; convert ' back to ’ from the subprocess + (defun endless/replace-quote (args) + (if (not (derived-mode-p 'org-mode)) + args + (cons (replace-regexp-in-string + "'" "’" (car args)) + (cdr args)))) + (advice-add #'ispell-parse-output :filter-args + #'endless/replace-quote)) #+end_src * Programming modes @@ -1359,17 +1391,10 @@ Emacs package that displays available keybindings in popup :hook (after-init . doom-modeline-init)) #+end_src -** [[https://github.com/11111000000/tao-theme-emacs][tao-theme]] - -#+begin_src emacs-lisp :tangle no -(use-package tao-theme - :demand t - :config (load-theme 'tao-yang t)) -#+end_src - ** [[https://github.com/maio/eink-emacs][eink-theme]] #+begin_src emacs-lisp +(setq doom-modeline-bar-width 5) (load-theme 'eink t) #+end_src @@ -1505,6 +1530,35 @@ Also see [[https://www.emacswiki.org/emacs/rebox2][rebox2]]. (set-face-foreground 'highlight-indent-guides-top-character-face "grey40")) ; grey13 is nice too #+end_src +** pdf-tools + +#+begin_src emacs-lisp +(use-package pdf-tools + :magic ("%PDF" . pdf-view-mode) + :config (pdf-tools-install) + :bind + (:map pdf-view-mode-map + ("C-s" . isearch-forward) + ("C-r" . isearch-backward) + ("j" . pdf-view-next-line-or-next-page) + ("k" . pdf-view-previous-line-or-previous-page))) +#+end_src + +** anzu + +#+begin_src emacs-lisp +(use-package anzu) +#+end_src + +** typo.el + +#+begin_src emacs-lisp +(use-package typo + :config + (typo-global-mode 1) + :hook (text-mode . typo-mode)) +#+end_src + * Email #+begin_src emacs-lisp @@ -1534,6 +1588,7 @@ Also see [[https://www.emacswiki.org/emacs/rebox2][rebox2]]. message-sendmail-envelope-from 'header ;; message-directory "drafts" message-user-fqdn "aminb.org") + ;; (add-hook 'message-mode-hook 'electric-quote-local-mode) (add-hook 'message-mode-hook (lambda () (setq fill-column 65 message-fill-column 65))) @@ -1541,7 +1596,9 @@ Also see [[https://www.emacswiki.org/emacs/rebox2][rebox2]]. #'flyspell-mode) ;; (add-hook 'message-setup-hook ;; #'mml-secure-message-sign-pgpmime) - ) + :custom-face + (message-header-subject ((t (:foreground "navy blue" :weight semi-bold)))) + (message-header-to ((t (:foreground "MidnightBlue" :weight semi-bold))))) (after! mml-sec (setq mml-secure-openpgp-encrypt-to-self t @@ -1576,9 +1633,10 @@ See [[notmuch:id:87muuqsvci.fsf@fencepost.gnu.org][bug follow-up]]. notmuch-hello-thousands-separator "," notmuch-fcc-dirs '(("amin@aminb.org" . "amin/Sent") - ("amin@gnu.org" . "gnu/Sent") + ("bandali@gnu.org" . "gnu/Sent") ("abandali@uwaterloo.ca" . "\"uwaterloo/Sent Items\"") ("mab@gnu.org" . "gnu/Sent") + ("amin@gnu.org" . "gnu/Sent") ("aminb@gnu.org" . "gnu/Sent") (".*" . "sent")) notmuch-search-result-format @@ -1603,6 +1661,7 @@ See [[notmuch:id:87muuqsvci.fsf@fencepost.gnu.org][bug follow-up]]. ;; (set! :evil-state 'notmuch-message-mode 'insert) ;; (advice-add #'notmuch-bury-or-kill-this-buffer ;; :override #'kill-this-buffer) + :hook (notmuch-message-mode . doom-modeline-set-special-modeline) :bind (:map notmuch-hello-mode-map ("u" . (lambda () @@ -1664,7 +1723,10 @@ See [[notmuch:id:87muuqsvci.fsf@fencepost.gnu.org][bug follow-up]]. "Mark message as spam" (interactive) (notmuch-tree-tag '("-unread" "-inbox" "-webmasters" "+spam")) - (notmuch-tree-next-message))))) + (notmuch-tree-next-message)))) + :custom-face + (notmuch-search-unread-face ((t (:weight semi-bold)))) + (notmuch-tag-face ((t (:foreground "navy blue" :weight semi-bold))))) (use-package counsel-notmuch :bind ("C-c s m" . counsel-notmuch))