emacs: add local gnu account
[~bandali/configs] / .emacs.d / init.el
index b09f080..a1da362 100644 (file)
@@ -1491,55 +1491,9 @@ For disabling the behaviour for certain buffers and/or modes."
    org-ref-bibliography-notes "~/usr/org/notes.org"
    org-ref-pdf-directory "~/usr/org/bibtex-pdfs/"))
 
-;; ugh, temporary (still better than using the proprietary web app)
-(use-package slack
-  :commands (slack-start)
-  :init
-  (eval-when-compile                    ; silence the byte-compiler
-    (defvar url-http-data nil)
-    (defvar url-http-extra-headers nil)
-    (defvar url-http-method nil)
-    (defvar url-callback-function nil)
-    (defvar url-callback-arguments nil)
-    (defvar oauth--token-data nil))
-  (setq slack-buffer-emojify t
-        slack-prefer-current-team t)
-  :config
-  (slack-register-team
-   :name "nday-students"
-   :default t
-   :token nday-students-token
-   :subscribed-channels '(general)
-   :full-and-display-names t)
-  (add-to-list 'swiper-font-lock-exclude 'slack-message-buffer-mode t)
-  (setq lui-time-stamp-format "[%Y-%m-%d %H:%M:%S]"
-        lui-time-stamp-only-when-changed-p t
-        lui-time-stamp-position 'right)
-  :bind
-  (("C-c s s" . slack-start)
-   ("C-c s u" . slack-select-unread-rooms)
-   ("C-c s b" . slack-select-rooms)
-   ("C-c s t" . slack-change-current-team)
-   ("C-c s c" . slack-ws-close)
-   :map slack-mode-map
-   ("M-p"     . slack-buffer-goto-prev-message)
-   ("M-n"     . slack-buffer-goto-next-message)
-   ("C-c e"   . slack-message-edit)
-   ("C-c k"   . slack-message-delete)
-   ("C-c C-k" . slack-channel-leave)
-   ("C-c r a" . slack-message-add-reaction)
-   ("C-c r r" . slack-message-remove-reaction)
-   ("C-c r s" . slack-message-show-reaction-users)
-   ("C-c p l" . slack-room-pins-list)
-   ("C-c p a" . slack-message-pins-add)
-   ("C-c p r" . slack-message-pins-remove)
-   ("@"       . slack-message-embed-mention)
-   ("#"       . slack-message-embed-channel)))
-
 (use-package alert
   :commands (alert)
-  :init
-  (setq alert-default-style 'notifier))
+  :init (setq alert-default-style 'notifications))
 
 (use-package ivy-xref
   :init
@@ -1570,6 +1524,12 @@ For disabling the behaviour for certain buffers and/or modes."
             (nnimap-server-port 143)
             (nnimap-authenticator plain)
             (nnimap-user "amin@bndl.local"))
+     (nnimap "gnu"
+            (nnimap-stream plain)
+            (nnimap-address "127.0.0.1")
+            (nnimap-server-port 143)
+            (nnimap-authenticator plain)
+            (nnimap-user "bandali@gnu.local"))
      (nnimap "uw"
              (nnimap-stream plain)
              (nnimap-address "127.0.0.1")
@@ -1584,75 +1544,97 @@ For disabling the behaviour for certain buffers and/or modes."
              (nnimap-user "abandali@csc.uw.local")))
    gnus-message-archive-group "nnimap+amin:Sent"
    gnus-parameters
-   '(("gnu\\.deepspec"
+   '(("l\\.deepspec"
       (to-address . "deepspec@lists.cs.princeton.edu")
-      (to-list    . "deepspec@lists.cs.princeton.edu"))
+      (to-list    . "deepspec@lists.cs.princeton.edu")
+      (list-identifier . "\\[deepspec\\]"))
      ("gnu\\.emacs-devel"
       (to-address . "emacs-devel@gnu.org")
       (to-list    . "emacs-devel@gnu.org"))
-     ("gnu\\.emacs-orgmode"
+     ("l\\.gnu\\.emacs\\.devel"
+      (to-address . "emacs-devel@gnu.org")
+      (to-list    . "emacs-devel@gnu.org"))
+     ("l\\.gnu\\.emacs\\.help"
+      (to-address . "help-gnu-emacs@gnu.org")
+      (to-list    . "help-gnu-emacs@gnu.org"))
+     ("l\\.gnu\\.emacs\\.info"
+      (to-address . "info-gnu-emacs@gnu.org")
+      (to-list    . "info-gnu-emacs@gnu.org"))
+     ("l\\.gnu\\.emacs\\.orgmode"
       (to-address . "emacs-orgmode@gnu.org")
-      (to-list    . "emacs-orgmode@gnu.org"))
-     ("gnu\\.emacsconf-discuss"
+      (to-list    . "emacs-orgmode@gnu.org")
+      (list-identifier . "\\[O\\]"))
+     ("l\\.gnu\\.emacsconf\\.discuss"
       (to-address . "emacsconf-discuss@gnu.org")
       (to-list    . "emacsconf-discuss@gnu.org"))
-     ("gnu\\.fencepost-users"
+     ("l\\.gnu\\.fencepost\\.users"
       (to-address . "fencepost-users@gnu.org")
-      (to-list    . "fencepost-users@gnu.org"))
-     ("gnu\\.gnunet-developers"
+      (to-list    . "fencepost-users@gnu.org")
+      (list-identifier . "\\[Fencepost-users\\]"))
+     ("l\\.gnu\\.gnunet\\.developers"
       (to-address . "gnunet-developers@gnu.org")
-      (to-list    . "gnunet-developers@gnu.org"))
-     ("gnu\\.guile-devel"
+      (to-list    . "gnunet-developers@gnu.org")
+      (list-identifier . "\\[GNUnet-developers\\]"))
+     ("l\\.gnu\\.gnunet\\.help"
+      (to-address . "help-gnunet@gnu.org")
+      (to-list    . "help-gnunet@gnu.org")
+      (list-identifier . "\\[Help-gnunet\\]"))
+     ("l\\.gnu\\.gnuzilla\\.bug"
+      (to-address . "bug-gnuzilla@gnu.org")
+      (to-list    . "bug-gnuzilla@gnu.org")
+      (list-identifier . "\\[Bug-gnuzilla\\]"))
+     ("l\\.gnu\\.gnuzilla\\.dev"
+      (to-address . "gnuzilla-dev@gnu.org")
+      (to-list    . "gnuzilla-dev@gnu.org")
+      (list-identifier . "\\[Gnuzilla-dev\\]"))
+     ("l\\.gnu\\.guile\\.devel"
       (to-address . "guile-devel@gnu.org")
       (to-list    . "guile-devel@gnu.org"))
-     ("gnu\\.guix-devel"
+     ("l\\.gnu\\.guix\\.devel"
       (to-address . "guix-devel@gnu.org")
       (to-list    . "guix-devel@gnu.org"))
-     ("gnu\\.haskell-art"
-      (to-address . "haskell-art@we.lurk.org")
-      (to-list    . "haskell-art@we.lurk.org"))
-     ("gnu\\.haskell-cafe"
-      (to-address . "haskell-cafe@haskell.org")
-      (to-list    . "haskell-cafe@haskell.org"))
-     ("gnu\\.help-gnu-emacs"
-      (to-address . "help-gnu-emacs@gnu.org")
-      (to-list    . "help-gnu-emacs@gnu.org"))
-     ("gnu\\.info-gnu-emacs"
-      (to-address . "info-gnu-emacs@gnu.org")
-      (to-list    . "info-gnu-emacs@gnu.org"))
-     ("gnu\\.info-guix"
+     ("l\\.gnu\\.guix\\.info"
       (to-address . "info-guix@gnu.org")
       (to-list    . "info-guix@gnu.org"))
-     ("gnu\\.notmuch"
-      (to-address . "notmuch@notmuchmail.org")
-      (to-list    . "notmuch@notmuchmail.org"))
-     ("gnu\\.parabola-dev"
-      (to-address . "dev@lists.parabola.nu")
-      (to-list    . "dev@lists.parabola.nu"))
-     ("gnu\\.webmasters"
-      (to-address . "webmasters@gnu.org")
-      (to-list    . "webmasters@gnu.org"))
-     ("gnu\\.www-commits"
+     ("l\\.gnu\\.www\\.commits"
       (to-address . "www-commits@gnu.org")
       (to-list    . "www-commits@gnu.org"))
-     ("gnu\\.www-discuss"
+     ("l\\.gnu\\.www\\.discuss"
       (to-address . "www-discuss@gnu.org")
       (to-list    . "www-discuss@gnu.org"))
-     ("gnu\\.~bandali\\.public-inbox"
+     ("l\\.haskell\\.art"
+      (to-address . "haskell-art@we.lurk.org")
+      (to-list    . "haskell-art@we.lurk.org")
+      (list-identifier . "\\[haskell-art\\]"))
+     ("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"
+      (to-address . "dev@lists.parabola.nu")
+      (to-list    . "dev@lists.parabola.nu")
+      (list-identifier . "\\[Dev\\]"))
+     ("l\\.~bandali\\.public-inbox"
       (to-address . "~bandali/public-inbox@lists.sr.ht")
       (to-list    . "~bandali/public-inbox@lists.sr.ht"))
-     ("gnu\\.~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"))
-     ("gnu\\.~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"))
-     ("gnu\\.~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"))
-     ("gnu\\.~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"
+      (to-address . "webmasters@gnu.org")
+      (to-list    . "webmasters@gnu.org"))
      ("gnu.*"
       (gcc-self . t))
      ("gnu\\."
@@ -1718,6 +1700,15 @@ For disabling the behaviour for certain buffers and/or modes."
 
 (use-feature gnus-msg
   :config
+  (defvar a/gnu-signature "Amin Bandali | GNU Webmaster
+https://bandali.eu.org | https://gnu.org
+GPG Key: BE62 7373 8E61 6D6D 1B3A  08E8 A21A 0202 4881 6103")
+  (defvar a/uw-signature "Amin Bandali, MMath Student
+Cheriton School of Computer Science
+University of Waterloo
+https://bandali.eu.org")
+  (defvar a/csc-signature "Amin Bandali | Termcom, CSC
+https://csclub.uwaterloo.ca/~abandali/")
   (setq gnus-posting-styles
         '((".*"
            (address "amin@bndl.org")
@@ -1725,17 +1716,20 @@ For disabling the behaviour for certain buffers and/or modes."
            (eval (setq a/message-cite-say-hi t)))
           ("gnu.*"
            (address "bandali@gnu.org")
+           (signature a/gnu-signature)
            (eval (set (make-local-variable 'message-user-fqdn) "fencepost.gnu.org")))
           ((header "subject" "ThankCRM")
            (to "webmasters-comment@gnu.org")
            (body "Added  to 2019supporters.html.\n\nMoving to campaigns.\n\n-amin\n")
            (eval (setq a/message-cite-say-hi nil)))
           ("nnimap\\+uw:.*"
-           (address "abandali@uwaterloo.ca"))
+           (address "abandali@uwaterloo.ca")
+           (signature a/uw-signature))
           ("nnimap\\+uw:INBOX"
            (gcc "\"nnimap+uw:Sent Items\""))
           ("nnimap\\+csc:.*"
            (address "abandali@csclub.uwaterloo.ca")
+           (signature a/csc-signature)
            (gcc "nnimap+csc:Sent")))))
 
 (use-feature gnus-topic