* lisp/bandali-gnus.el: SFL mail setup
[~bandali/configs] / lisp / bandali-gnus.el
index 2bfa816..0c5dc97 100644 (file)
@@ -58,7 +58,7 @@
              (nnimap-address "127.0.0.1")
              (nnimap-server-port 143)
              (nnimap-authenticator plain)
-             (nnimap-user "amin@shemshak.local"))
+             (nnimap-user "bandali@shemshak.local"))
      (nnimap "gnu"
              (nnimap-stream plain)
              (nnimap-address "127.0.0.1")
              (nnimap-split-fancy (|
                                   ;; (: gnus-registry-split-fancy-with-parent)
                                   ;; (: gnus-group-split-fancy "INBOX" t "INBOX")
+                                  ;; keep debbugs emails in INBOX
+                                  (list ".*<\\(.*\\)\\.debbugs\\.gnu\\.org>.*" "INBOX")
                                   ;; gnu
                                   (list ".*<\\(.*\\)\\.\\(non\\)?gnu\\.org>.*" "l.\\1")
                                   ;; gnus
                                   (list ".*<\\(.*\\)\\.gnus\\.org>.*" "l.\\1")
                                   ;; libreplanet
                                   (list ".*<\\(.*\\)\\.libreplanet\\.org>.*" "l.\\1")
+                                  ;; iana (e.g. tz-announce)
+                                  (list ".*<\\(.*\\)\\.iana\\.org>.*" "l.\\1")
+                                  ;; orbitalfox (e.g. gemini)
+                                  (list ".*<\\(.*\\)\\.lists\\.orbitalfox\\.eu>.*" "l.\\1")
                                   ;; *.lists.sr.ht, omitting one dot if present
                                   ;;    add more \\.?\\([^.]*\\) if needed
-                                  (list ".*<~\\(.*\\)/\\([^.]*\\)\\.?\\([^.]*\\)\\.lists.sr.ht>.*" "l.~\\1.\\2\\3")
+                                  (list ".*<~\\(.*\\)/\\([^.]*\\)\\.?\\([^.]*\\)\\.lists\\.sr\\.ht>.*" "l.~\\1.\\2\\3")
                                   ;; webmasters
                                   (from "webmasters\\(-comment\\)?@gnu\\.org" "webmasters")
                                   ;; other
@@ -87,7 +93,7 @@
                                   ;; (list ".*haskell-art.we.lurk.org" "l.haskell.art") ;d
                                   (list ".*haskell-cafe.haskell.org" "l.haskell-cafe")
                                   ;; (list ".*notmuch.notmuchmail.org" "l.notmuch") ;u
-                                  ;; (list ".*dev.lists.parabola.nu" "l.parabola-dev") ;u
+                                  (list ".*dev.lists.parabola.nu" "l.parabola-dev")
                                   ;; ----------------------------------
                                   ;; legend: (u)nsubscribed | (d)ead
                                   ;; ----------------------------------
                                   ("X-Spam_action" "reject" "Junk")
                                   ;; otherwise, leave mail in INBOX
                                   "INBOX")))
-     (nnimap "uw"
+     (nnimap "uwaterloo"
              (nnimap-stream plain)
              (nnimap-address "127.0.0.1")
              (nnimap-server-port 143)
              (nnimap-authenticator plain)
-             (nnimap-user "abandali@uw.local")
+             (nnimap-user "abandali@uwaterloo.local")
              (nnimap-inbox "INBOX")
              (nnimap-split-methods 'nnimap-split-fancy)
              (nnimap-split-fancy (|
              (nnimap-address "127.0.0.1")
              (nnimap-server-port 143)
              (nnimap-authenticator plain)
-             (nnimap-user "abandali@csc.uw.local")))
+             (nnimap-user "abandali@csclub.uwaterloo.local")
+             (nnimap-inbox "INBOX")
+             (nnimap-split-methods 'nnimap-split-fancy)
+             (nnimap-split-fancy (|
+                                  ;; cron reports and other messages from root
+                                  (from "root@\\(.*\\.\\)?csclub\\.uwaterloo\\.ca" "INBOX")
+                                  ;; spam
+                                  ("X-Spam-Flag" "YES" "Junk")
+                                  ;; catch-all
+                                  "INBOX")))
+     (nnimap "sfl"
+             (nnimap-stream tls)
+             (nnimap-address "mail.savoirfairelinux.com")
+             (nnimap-user "amin.bandali")))
    gnus-message-archive-group "nnimap+gnu:INBOX"
    gnus-parameters
    '(("l\\.atreus"
      ("l\\.emacsconf-discuss"
       (to-address . "emacsconf-discuss@gnu.org")
       (to-list    . "emacsconf-discuss@gnu.org"))
+     ("l\\.emacsconf-org"
+      (to-address . "emacsconf-org@gnu.org")
+      (to-list    . "emacsconf-org@gnu.org"))
+     ("l\\.emacsconf-org-private"
+      (to-address . "emacsconf-org-private@gnu.org")
+      (to-list    . "emacsconf-org-private@gnu.org"))
      ("l\\.emacsconf-register"
       (to-address . "emacsconf-register@gnu.org")
       (to-list    . "emacsconf-register@gnu.org"))
       (gcc-self . t))
      ("l\\."
       (subscribed . t))
-     ("nnimap\\+uw:.*"
+     ("nnimap\\+uwaterloo:.*"
       (gcc-self . t)))
+   ;; nnimap-record-commands t
    gnus-large-newsgroup  50
    gnus-home-directory   (b/var "gnus/")
    gnus-directory        (concat gnus-home-directory "news/")
                                 gnus-thread-sort-by-date)))
 
 (use-package gnus-msg
+  :init
+  (defvar b/sfl-p nil)
   :config
   (defvar b/shemshak-signature "Amin Bandali
-https://shemshak.org/~amin")
-  (defvar b/uw-signature "Amin Bandali, MMath Student
-Cheriton School of Computer Science
-University of Waterloo
-https://bandali.eu.org")
-  (defvar b/csc-signature "Amin Bandali
+https://shemshak.org/~bandali")
+  (defvar b/uwaterloo-signature "Amin Bandali, MMath
+https://bndl.org")
+  (defvar b/csc-signature "Amin Bandali | https://bndl.org
 System Administrator, Systems Committee
-Computer Science Club, University of Waterloo
-https://csclub.uwaterloo.ca/~abandali")
+Computer Science Club, University of Waterloo")
+  (defvar b/sfl-signature "Amin Bandali
+Free Software Consultant
+Savoir-faire Linux
+GNU Jami: bandali")
   (setq gnus-message-replysign t
         gnus-posting-styles
         '((".*"
@@ -380,18 +409,24 @@ https://csclub.uwaterloo.ca/~abandali")
            (signature b/shemshak-signature)
            (gcc "nnimap+shemshak:Sent")
            (eval (setq b/message-cite-say-hi t)))
-          ("nnimap\\+uw:.*"
+          ("nnimap\\+uwaterloo:.*"
            (address "bandali@uwaterloo.ca")
            (body "\nBest,\n")
-           (signature b/uw-signature))
-          ("nnimap\\+uw:INBOX"
-           (gcc "\"nnimap+uw:Sent Items\""))
+           (signature b/uwaterloo-signature))
+          ("nnimap\\+uwaterloo:INBOX"
+           (gcc "\"nnimap+uwaterloo:Sent Items\""))
           ("nnimap\\+csc:.*"
            (address "bandali@csclub.uwaterloo.ca")
            (signature b/csc-signature)
-           (gcc "nnimap+csc:Sent"))))
+           (gcc "nnimap+csc:Sent"))
+          ("nnimap\\+sfl:.*"
+           (address "amin.bandali@savoirfairelinux.com")
+           (signature b/sfl-signature)
+           (gcc "nnimap+sfl:Sent")
+           (eval (setq-local b/sfl-p t)))))
   :hook (gnus-message-setup . (lambda ()
-                                (unless (mml-secure-is-encrypted-p)
+                                (unless (or (mml-secure-is-encrypted-p)
+                                            b/sfl-p)
                                   (mml-secure-message-sign)))))
 
 (use-package gnus-topic
@@ -433,9 +468,9 @@ https://csclub.uwaterloo.ca/~abandali")
   :config
   (when (version< "27" emacs-version)
     (set-face-attribute 'mm-uu-extract nil :extend t))
-  :custom
-  (mm-uu-diff-groups-regexp
-   "\\(gmane\\|gnu\\|l\\)\\..*\\(diff\\|commit\\|cvs\\|bug\\|dev\\)"))
+  (when (version< emacs-version "27")
+    (setq mm-uu-diff-groups-regexp
+          "\\(gmane\\|gnu\\|l\\)\\..*\\(diff\\|commit\\|cvs\\|bug\\|dev\\)")))
 
 (use-package mml)