isync: update gnub user
[~bandali/configs] / .emacs.d / init.el
index 56a7bd1..94b9810 100644 (file)
@@ -414,6 +414,10 @@ For disabling the behaviour for certain buffers and/or modes."
   :custom ((ediff-window-setup-function 'ediff-setup-windows-plain)
            (ediff-split-window-function 'split-window-horizontally)))
 
+;; i don't feel like jumping out of my chair every now and again; so
+;; don't BEEP! at me, emacs
+(setq ring-bell-function 'ignore)
+
 \f
 ;;; General bindings
 
@@ -479,9 +483,10 @@ For disabling the behaviour for certain buffers and/or modes."
          (org-mode . auto-fill-mode)
          (org-mode . flyspell-mode))
   :custom
+  (org-pretty-entities t)
   (org-agenda-files '("~/usr/org/todos/personal.org"
                       "~/usr/org/todos/habits.org"
-                      "~/usr/org/todos/masters.org"))
+                      "~/src/git/masters-thesis/todo.org"))
   (org-agenda-start-on-weekday 0)
   (org-agenda-time-leading-zero t)
   (org-habit-graph-column 44)
@@ -1153,6 +1158,12 @@ For disabling the behaviour for certain buffers and/or modes."
   :hook
   (po-mode . (lambda () (run-with-timer 0.1 nil 'View-exit))))
 
+(use-package tex-mode
+  :config
+  (cl-delete-if
+   (lambda (p) (string-match "^---?" (car p)))
+   tex--prettify-symbols-alist))
+
 \f
 ;;; Theme
 
@@ -1275,13 +1286,11 @@ For disabling the behaviour for certain buffers and/or modes."
          ("C-c j"   . crux-top-join-line)
          ("C-S-j"   . crux-top-join-line)))
 
-(comment
-  ;; TODO
-  (use-package mwim
-    :bind (("C-a"    . mwim-beginning-of-code-or-line)
-           ("C-e"    . mwim-end-of-code-or-line)
-           ("<home>" . mwim-beginning-of-line-or-code)
-           ("<end>"  . mwim-end-of-line-or-code))))
+(use-package mwim
+  :bind (("C-a"    . mwim-beginning-of-code-or-line)
+         ("C-e"    . mwim-end-of-code-or-line)
+         ("<home>" . mwim-beginning-of-line-or-code)
+         ("<end>"  . mwim-end-of-line-or-code)))
 
 (use-package projectile
   :defer 0.5
@@ -1326,45 +1335,41 @@ For disabling the behaviour for certain buffers and/or modes."
    ("C-S-h k" . helpful-key)
    ("C-S-h p" . helpful-at-point)))
 
-(comment
-  ;; TODO
-  (use-package unkillable-scratch
-    :defer 0.6
-    :config
-    (unkillable-scratch 1)
-    :custom
-    (unkillable-buffers '("^\\*scratch\\*$" "^\\*Messages\\*$"))))
+(use-package unkillable-scratch
+  :defer 0.6
+  :config
+  (unkillable-scratch 1)
+  :custom
+  (unkillable-buffers '("^\\*scratch\\*$" "^\\*Messages\\*$")))
 
-(comment
-  ;; TODO
-  ;; ,----
-  ;; | make pretty boxed quotes like this
-  ;; `----
-  (use-package boxquote
-    :defer 0.6
-    :bind
-    (:prefix-map b/boxquote-prefix-map
-                 :prefix "C-c q"
-                 ("b"   . boxquote-buffer)
-                 ("B"   . boxquote-insert-buffer)
-                 ("d"   . boxquote-defun)
-                 ("F"   . boxquote-insert-file)
-                 ("hf"  . boxquote-describe-function)
-                 ("hk"  . boxquote-describe-key)
-                 ("hv"  . boxquote-describe-variable)
-                 ("hw"  . boxquote-where-is)
-                 ("k"   . boxquote-kill)
-                 ("p"   . boxquote-paragraph)
-                 ("q"   . boxquote-boxquote)
-                 ("r"   . boxquote-region)
-                 ("s"   . boxquote-shell-command)
-                 ("t"   . boxquote-text)
-                 ("T"   . boxquote-title)
-                 ("u"   . boxquote-unbox)
-                 ("U"   . boxquote-unbox-region)
-                 ("y"   . boxquote-yank)
-                 ("M-q" . boxquote-fill-paragraph)
-                 ("M-w" . boxquote-kill-ring-save))))
+;; ,----
+;; | make pretty boxed quotes like this
+;; `----
+(use-package boxquote
+  :defer 0.6
+  :bind
+  (:prefix-map b/boxquote-prefix-map
+               :prefix "C-c q"
+               ("b"   . boxquote-buffer)
+               ("B"   . boxquote-insert-buffer)
+               ("d"   . boxquote-defun)
+               ("F"   . boxquote-insert-file)
+               ("hf"  . boxquote-describe-function)
+               ("hk"  . boxquote-describe-key)
+               ("hv"  . boxquote-describe-variable)
+               ("hw"  . boxquote-where-is)
+               ("k"   . boxquote-kill)
+               ("p"   . boxquote-paragraph)
+               ("q"   . boxquote-boxquote)
+               ("r"   . boxquote-region)
+               ("s"   . boxquote-shell-command)
+               ("t"   . boxquote-text)
+               ("T"   . boxquote-title)
+               ("u"   . boxquote-unbox)
+               ("U"   . boxquote-unbox-region)
+               ("y"   . boxquote-yank)
+               ("M-q" . boxquote-fill-paragraph)
+               ("M-w" . boxquote-kill-ring-save)))
 
 (use-package orgalist
   ;; http://lists.gnu.org/archive/html/emacs-orgmode/2019-04/msg00007.html
@@ -1386,23 +1391,21 @@ For disabling the behaviour for certain buffers and/or modes."
   :config
   (global-hl-todo-mode))
 
-(comment
-  ;; TODO
-  (use-package shrink-path
-    :defer 0.5
-    :after eshell
-    :config
-    (defvar user-@-host (concat (user-login-name) "@" (system-name) " "))
-    (defun +eshell/prompt ()
-      (let ((base/dir (shrink-path-prompt default-directory)))
-        (concat (propertize user-@-host 'face 'default)
-                (propertize (car base/dir)
-                            'face 'font-lock-comment-face)
-                (propertize (cdr base/dir)
-                            'face 'font-lock-constant-face)
-                (propertize "> " 'face 'default))))
-    (setq eshell-prompt-regexp (concat user-@-host ".*> ")
-          eshell-prompt-function #'+eshell/prompt)))
+(use-package shrink-path
+  :defer 0.5
+  :after eshell
+  :config
+  (defvar user-@-host (concat (user-login-name) "@" (system-name) " "))
+  (defun +eshell/prompt ()
+    (let ((base/dir (shrink-path-prompt default-directory)))
+      (concat (propertize user-@-host 'face 'default)
+              (propertize (car base/dir)
+                          'face 'font-lock-comment-face)
+              (propertize (cdr base/dir)
+                          'face 'font-lock-constant-face)
+              (propertize "> " 'face 'default))))
+  (setq eshell-prompt-regexp (concat user-@-host ".*> ")
+        eshell-prompt-function #'+eshell/prompt))
 
 (use-package eshell-up
   :after eshell
@@ -1550,6 +1553,14 @@ For disabling the behaviour for certain buffers and/or modes."
   :bind ("C-c a p" . pass)
   :hook (pass-mode . View-exit))
 
+(use-package pdf-tools
+  :defer 0.5
+  :bind (:map pdf-view-mode-map
+              ("M-RET" . image-previous-line))
+  :config (pdf-tools-install nil t))
+
+(use-package biblio)
+
 \f
 ;;; Email (with Gnus)
 
@@ -1587,28 +1598,7 @@ For disabling the behaviour for certain buffers and/or modes."
                                  ;; (: gnus-registry-split-fancy-with-parent)
                                  ;; (: gnus-group-split-fancy "INBOX" t "INBOX")
                                  ;; gnu
-                                 (list ".*emacs-devel.gnu.org" "l.gnu.emacs.devel")
-                                 (list ".*help-gnu-emacs.gnu.org" "l.gnu.emacs.help")
-                                 (list ".*info-gnu-emacs.gnu.org" "l.gnu.emacs.info")
-                                 (list ".*emacs-orgmode.gnu.org" "l.gnu.emacs.orgmode")
-                                 (list ".*emacs-tangents.gnu.org" "l.gnu.emacs.tangents")
-                                 (list ".*emacsconf-discuss.gnu.org" "l.gnu.emacsconf.discuss")
-                                 (list ".*emacsconf-register.gnu.org" "l.gnu.emacsconf.register")
-                                 (list ".*emacsconf-submit.gnu.org" "l.gnu.emacsconf.submit")
-                                 (list ".*fencepost-users.gnu.org" "l.gnu.fencepost.users")
-                                 (list ".*gnunet-developers.gnu.org" "l.gnu.gnunet.developers")
-                                 (list ".*help-gnunet.gnu.org" "l.gnu.gnunet.help")
-                                 (list ".*bug-gnuzilla.gnu.org" "l.gnu.gnuzilla.bug")
-                                 (list ".*gnuzilla-dev.gnu.org" "l.gnu.gnuzilla.dev")
-                                 (list ".*guile-devel.gnu.org" "l.gnu.guile.devel")
-                                 (list ".*guile-user.gnu.org" "l.gnu.guile.user")
-                                 (list ".*guix-devel.gnu.org" "l.gnu.guix.devel")
-                                 (list ".*help-guix.gnu.org" "l.gnu.guix.help")
-                                 (list ".*info-guix.gnu.org" "l.gnu.guix.info")
-                                 (list ".*savannah-hackers-public.gnu.org" "l.gnu.savannah.hackers.public")
-                                 (list ".*savannah-users.gnu.org" "l.gnu.savannah.users")
-                                 (list ".*www-commits.gnu.org" "l.gnu.www.commits")
-                                 (list ".*www-discuss.gnu.org" "l.gnu.www.discuss")
+                                 (list "\\(.*\\).gnu.org" "l.\\1")
                                  ;; webmasters
                                  (from "webmasters\\(-comment\\)?@gnu\\.org" "webmasters")
                                  ;; haskell
@@ -1618,14 +1608,9 @@ For disabling the behaviour for certain buffers and/or modes."
                                  (list ".*atreus.freelists.org" "l.atreus")
                                  (list ".*deepspec.lists.cs.princeton.edu" "l.deepspec")
                                  (list ".*notmuch.notmuchmail.org" "l.notmuch")
-                                 (list ".*dev.lists.parabola.nu" "l.parabola.dev")
+                                 (list ".*dev.lists.parabola.nu" "l.parabola-dev")
                                  ;; *@lists.sr.ht
-                                 (list ".*~bandali/public-inbox@lists.sr.ht" "l.~bandali.public-inbox")
-                                 (list ".*~sircmpwn/free-writers-club@lists.sr.ht" "l.~sircmpwn.free-writers-club")
-                                 (list ".*~sircmpwn/sr.ht-admins@lists.sr.ht" "l.~sircmpwn.srht.admins")
-                                 (list ".*~sircmpwn/sr.ht-announce@lists.sr.ht" "l.~sircmpwn.srht.announce")
-                                 (list ".*~sircmpwn/sr.ht-dev@lists.sr.ht" "l.~sircmpwn.srht.dev")
-                                 (list ".*~sircmpwn/sr.ht-discuss@lists.sr.ht" "l.~sircmpwn.srht.discuss")
+                                 (list ".*~\\(.*\\)/\\(.*\\)@lists.sr.ht" "l.~\\1.\\2")
                                  "INBOX")))
      (nnimap "uw"
              (nnimap-stream plain)
@@ -1657,90 +1642,90 @@ For disabling the behaviour for certain buffers and/or modes."
       (to-address . "deepspec@lists.cs.princeton.edu")
       (to-list    . "deepspec@lists.cs.princeton.edu")
       (list-identifier . "\\[deepspec\\]"))
-     ("l\\.gnu\\.emacs\\.devel"
+     ("l\\.emacs-devel"
       (to-address . "emacs-devel@gnu.org")
       (to-list    . "emacs-devel@gnu.org"))
-     ("l\\.gnu\\.emacs\\.help"
+     ("l\\.help-gnu-emacs"
       (to-address . "help-gnu-emacs@gnu.org")
       (to-list    . "help-gnu-emacs@gnu.org"))
-     ("l\\.gnu\\.emacs\\.info"
+     ("l\\.info-gnu-emacs"
       (to-address . "info-gnu-emacs@gnu.org")
       (to-list    . "info-gnu-emacs@gnu.org"))
-     ("l\\.gnu\\.emacs\\.orgmode"
+     ("l\\.emacs-orgmode"
       (to-address . "emacs-orgmode@gnu.org")
       (to-list    . "emacs-orgmode@gnu.org")
       (list-identifier . "\\[O\\]"))
-     ("l\\.gnu\\.emacs\\.tangents"
+     ("l\\.emacs-tangents"
       (to-address . "emacs-tangents@gnu.org")
       (to-list    . "emacs-tangents@gnu.org"))
-     ("l\\.gnu\\.emacsconf\\.discuss"
+     ("l\\.emacsconf-discuss"
       (to-address . "emacsconf-discuss@gnu.org")
       (to-list    . "emacsconf-discuss@gnu.org"))
-     ("l\\.gnu\\.emacsconf\\.register"
+     ("l\\.emacsconf-register"
       (to-address . "emacsconf-register@gnu.org")
       (to-list    . "emacsconf-register@gnu.org"))
-     ("l\\.gnu\\.emacsconf\\.submit"
+     ("l\\.emacsconf-submit"
       (to-address . "emacsconf-submit@gnu.org")
       (to-list    . "emacsconf-submit@gnu.org"))
-     ("l\\.gnu\\.fencepost\\.users"
+     ("l\\.fencepost-users"
       (to-address . "fencepost-users@gnu.org")
       (to-list    . "fencepost-users@gnu.org")
       (list-identifier . "\\[Fencepost-users\\]"))
-     ("l\\.gnu\\.gnunet\\.developers"
+     ("l\\.gnunet-developers"
       (to-address . "gnunet-developers@gnu.org")
       (to-list    . "gnunet-developers@gnu.org")
       (list-identifier . "\\[GNUnet-developers\\]"))
-     ("l\\.gnu\\.gnunet\\.help"
+     ("l\\.help-gnunet"
       (to-address . "help-gnunet@gnu.org")
       (to-list    . "help-gnunet@gnu.org")
       (list-identifier . "\\[Help-gnunet\\]"))
-     ("l\\.gnu\\.gnuzilla\\.bug"
+     ("l\\.bug-gnuzilla"
       (to-address . "bug-gnuzilla@gnu.org")
       (to-list    . "bug-gnuzilla@gnu.org")
       (list-identifier . "\\[Bug-gnuzilla\\]"))
-     ("l\\.gnu\\.gnuzilla\\.dev"
+     ("l\\.gnuzilla-dev"
       (to-address . "gnuzilla-dev@gnu.org")
       (to-list    . "gnuzilla-dev@gnu.org")
       (list-identifier . "\\[Gnuzilla-dev\\]"))
-     ("l\\.gnu\\.guile\\.devel"
+     ("l\\.guile-devel"
       (to-address . "guile-devel@gnu.org")
       (to-list    . "guile-devel@gnu.org"))
-     ("l\\.gnu\\.guile\\.user"
+     ("l\\.guile-user"
       (to-address . "guile-user@gnu.org")
       (to-list    . "guile-user@gnu.org"))
-     ("l\\.gnu\\.guix\\.devel"
+     ("l\\.guix-devel"
       (to-address . "guix-devel@gnu.org")
       (to-list    . "guix-devel@gnu.org"))
-     ("l\\.gnu\\.guix\\.help"
+     ("l\\.help-guix"
       (to-address . "help-guix@gnu.org")
       (to-list    . "help-guix@gnu.org"))
-     ("l\\.gnu\\.guix\\.info"
+     ("l\\.info-guix"
       (to-address . "info-guix@gnu.org")
       (to-list    . "info-guix@gnu.org"))
-     ("l\\.gnu\\.savannah\\.hackers\\.public"
+     ("l\\.savannah-hackers-public"
       (to-address . "savannah-hackers-public@gnu.org")
       (to-list    . "savannah-hackers-public@gnu.org"))
-     ("l\\.gnu\\.savannah\\.users"
+     ("l\\.savannah-users"
       (to-address . "savannah-users@gnu.org")
       (to-list    . "savannah-users@gnu.org"))
-     ("l\\.gnu\\.www\\.commits"
+     ("l\\.www-commits"
       (to-address . "www-commits@gnu.org")
       (to-list    . "www-commits@gnu.org"))
-     ("l\\.gnu\\.www\\.discuss"
+     ("l\\.www-discuss"
       (to-address . "www-discuss@gnu.org")
       (to-list    . "www-discuss@gnu.org"))
-     ("l\\.haskell\\.art"
+     ("l\\.haskell-art"
       (to-address . "haskell-art@we.lurk.org")
       (to-list    . "haskell-art@we.lurk.org")
       (list-identifier . "\\[haskell-art\\]"))
-     ("l\\.haskell\\.cafe"
+     ("l\\.haskell-cafe"
       (to-address . "haskell-cafe@haskell.org")
       (to-list    . "haskell-cafe@haskell.org")
       (list-identifier . "\\[Haskell-cafe\\]"))
      ("l\\.notmuch"
       (to-address . "notmuch@notmuchmail.org")
       (to-list    . "notmuch@notmuchmail.org"))
-     ("l\\.parabola\\.dev"
+     ("l\\.parabola-dev"
       (to-address . "dev@lists.parabola.nu")
       (to-list    . "dev@lists.parabola.nu")
       (list-identifier . "\\[Dev\\]"))
@@ -1750,16 +1735,16 @@ For disabling the behaviour for certain buffers and/or modes."
      ("l\\.~sircmpwn\\.free-writers-club"
       (to-address . "~sircmpwn/free-writers-club@lists.sr.ht")
       (to-list    . "~sircmpwn/free-writers-club@lists.sr.ht"))
-     ("l\\.~sircmpwn\\.srht\\.admins"
+     ("l\\.~sircmpwn\\.srht-admins"
       (to-address . "~sircmpwn/sr.ht-admins@lists.sr.ht")
       (to-list    . "~sircmpwn/sr.ht-admins@lists.sr.ht"))
-     ("l\\.~sircmpwn\\.srht\\.announce"
+     ("l\\.~sircmpwn\\.srht-announce"
       (to-address . "~sircmpwn/sr.ht-announce@lists.sr.ht")
       (to-list    . "~sircmpwn/sr.ht-announce@lists.sr.ht"))
-     ("l\\.~sircmpwn\\.srht\\.dev"
+     ("l\\.~sircmpwn\\.srht-dev"
       (to-address . "~sircmpwn/sr.ht-dev@lists.sr.ht")
       (to-list    . "~sircmpwn/sr.ht-dev@lists.sr.ht"))
-     ("l\\.~sircmpwn\\.srht\\.discuss"
+     ("l\\.~sircmpwn\\.srht-discuss"
       (to-address . "~sircmpwn/sr.ht-discuss@lists.sr.ht")
       (to-list    . "~sircmpwn/sr.ht-discuss@lists.sr.ht"))
      ("webmasters"
@@ -1781,11 +1766,9 @@ For disabling the behaviour for certain buffers and/or modes."
    gnus-interactive-exit nil
    gnus-gcc-mark-as-read t)
   :config
-  (comment
-    ;; TODO
-    (require 'ebdb)
-    (require 'ebdb-mua)
-    (require 'ebdb-gnus))
+  (require 'ebdb)
+  (require 'ebdb-mua)
+  (require 'ebdb-gnus)
 
   ;; (gnus-registry-initialize)
 
@@ -1945,9 +1928,7 @@ https://bandalis.org")
         '(gnus-find-subscribed-addresses)
         message-dont-reply-to-names
         "\\(\\(\\(amin\\|mab\\)@shemshak\\.org\\)\\|\\(amin@bndl\\.org\\)\\|\\(.*@aminb\\.org\\)\\|\\(\\(bandali\\|mab\\|aminb?\\)@gnu\\.org\\)\\|\\(a\\(min\\.\\)?bandali@uwaterloo\\.ca\\)\\|\\(abandali@csclub\\.uwaterloo\\.ca\\)\\)")
-  (comment
-    ;; TODO
-    (require 'company-ebdb))
+  (require 'company-ebdb)
   :hook (;; (message-setup . mml-secure-message-sign-pgpmime)
          (message-mode . flyspell-mode)
          (message-mode . (lambda ()
@@ -1987,56 +1968,49 @@ https://bandalis.org")
         ("r" . footnote-renumber-footnotes)
         ("s" . footnote-set-style)))
 
-(comment
-  ;; TODO
-  (use-package ebdb
-    :straight (:host github :repo "girzel/ebdb")
-    :after gnus
-    :bind (:map gnus-group-mode-map ("e" . ebdb))
-    :config
-    (setq ebdb-sources (b/var "ebdb"))
-    (with-eval-after-load 'swiper
-      (add-to-list 'swiper-font-lock-exclude 'ebdb-mode t)))
+(use-package ebdb
+  :after gnus
+  :bind (:map gnus-group-mode-map ("e" . ebdb))
+  :config
+  (setq ebdb-sources (b/var "ebdb"))
+  (with-eval-after-load 'swiper
+    (add-to-list 'swiper-font-lock-exclude 'ebdb-mode t)))
 
-  (use-package ebdb-com
-    :after ebdb)
+(use-package ebdb-com
+  :after ebdb)
 
-  ;; (use-package ebdb-complete
-  ;;   :after ebdb
-  ;;   :config
-  ;;   (ebdb-complete-enable))
+;; (use-package ebdb-complete
+;;   :after ebdb
+;;   :config
+;;   (ebdb-complete-enable))
 
-  (use-package company-ebdb
-    :config
-    (defun company-ebdb--post-complete (_) nil))
-
-  (use-package ebdb-gnus
-    :after ebdb
-    :custom
-    (ebdb-gnus-window-configuration
-     '(article
-       (vertical 1.0
-                 (summary 0.25 point)
-                 (horizontal 1.0
-                             (article 1.0)
-                             (ebdb-gnus 0.3))))))
-
-  (use-package ebdb-mua
-    :after ebdb
-    ;; :custom (ebdb-mua-pop-up nil)
-    )
+(use-package company-ebdb
+  :config
+  (defun company-ebdb--post-complete (_) nil))
 
-  ;; (use-package ebdb-message
-  ;;   :after ebdb)
+(use-package ebdb-gnus
+  :after ebdb
+  :custom
+  (ebdb-gnus-window-configuration
+   '(article
+     (vertical 1.0
+               (summary 0.25 point)
+               (horizontal 1.0
+                           (article 1.0)
+                           (ebdb-gnus 0.3))))))
+
+(use-package ebdb-mua
+  :after ebdb
+  ;; :custom (ebdb-mua-pop-up nil)
+  )
 
+;; (use-package ebdb-message
+;;   :after ebdb)
 
-  ;; (use-package ebdb-vcard
-  ;;   :after ebdb)
-  )
+;; (use-package ebdb-vcard
+;;   :after ebdb)
 
-(comment
-  ;; TODO
-  (use-package message-x))
+(use-package message-x)
 
 (comment
   (use-package message-x
@@ -2090,9 +2064,7 @@ https://bandalis.org")
   (add-to-list 'erc-modules 'keep-place)
   (add-to-list 'erc-modules 'notifications)
   (add-to-list 'erc-modules 'spelling)
-  (comment
-    ;; TODO
-    (add-to-list 'erc-modules 'scrolltoplace))
+  (add-to-list 'erc-modules 'scrolltoplace)
   (erc-update-modules))
 
 (use-package erc-fill
@@ -2119,10 +2091,8 @@ https://bandalis.org")
 (use-package erc-hl-nicks
   :after erc)
 
-(comment
-  ;; TODO
-  (use-package erc-scrolltoplace
-    :after erc))
+(use-package erc-scrolltoplace
+  :after erc)
 
 (use-package znc
   :load-path "lisp/znc.el/"