Move host-specific additional profiles into .config/ itself
[~bandali/configs] / .emacs.d / lisp / bandali-gnus.el
index 58fca3a..53ae41e 100644 (file)
 
  gnus-select-method '(nnnil "")
  gnus-secondary-select-methods
- `(,@(cond
-      ((string= (system-name) "langa")
+ `(,@(if (string= (system-name) "darya")
+         '((nnimap
+            "canonical"
+            (nnimap-stream plain)
+            (nnimap-address "127.0.0.1")
+            (nnimap-server-port 143)
+            (nnimap-authenticator plain)
+            (nnimap-user "bandali@canonical.local")))
        '((nnimap
+          "kelar"
+          (nnimap-stream plain)
+          (nnimap-address "127.0.0.1")
+          (nnimap-server-port 143)
+          (nnimap-authenticator plain)
+          (nnimap-user "bandali@kelar.local"))
+         (nnimap
           "shemshak"
           (nnimap-stream plain)
           (nnimap-address "127.0.0.1")
            (|
             ;; (: gnus-registry-split-fancy-with-parent)
             ;; (: gnus-group-split-fancy "INBOX" t "INBOX")
+            ;; spam
+            ("X-Spam_action" "reject" "Junk")
             ;; keep debbugs emails in INBOX
             (list ".*<\\(.*\\)\\.debbugs\\.gnu\\.org>.*" "INBOX")
             ;; list moderation emails
             (from ".+-\\(owner\\|bounces\\)@\\(non\\)?gnu\\.org" "listmod")
             ;; gnu
             (list ".*<\\(.*\\)\\.\\(non\\)?gnu\\.org>.*" "l.\\1")
+            ;; fsf
+            (list ".*<\\(.*\\)\\.fsf\\.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")
+            ;; mailop
+            (list ".*<\\(.*\\)\\.mailop\\.org>.*" "l.\\1")
+            ;; sdlu
+            (list ".*<\\(.*\\)\\.spammers\\.dontlike\\.us>.*" "l.sdlu")
+            ;; bitfolk
+            (from ".*@\\(.+\\)?bitfolk\\.com>.*" "bitfolk")
             ;; haskell
             (list ".*<\\(.*\\)\\.haskell\\.org>.*" "l.\\1")
             ;; *.lists.sr.ht, omitting one dot if present
             ;; ----------------------------------
             ;; legend: (u)nsubscribed | (d)ead
             ;; ----------------------------------
-            ;; spam
-            ("X-Spam_action" "reject" "Junk")
             ;; otherwise, leave mail in INBOX
             "INBOX")))
          (nnimap
             ;; spam
             ("X-Spam-Flag" "YES" "Junk")
             ;; catch-all
-            "INBOX")))))
-      ((string= (system-name) "jirud")
-       '((nnimap
-         "sfl"
-         (nnimap-stream tls)
-         (nnimap-address "mail.savoirfairelinux.com")
-         (nnimap-user "amin.bandali"))))))
+            "INBOX")))
+         (nnimap
+          "sfl"
+          (nnimap-stream plain)
+          (nnimap-address "127.0.0.1")
+          (nnimap-server-port 143)
+          (nnimap-authenticator plain)
+          (nnimap-user "amin.bandali@savoirfairelinux.local")))))
  gnus-message-archive-group "nnimap+gnu:INBOX"
  gnus-parameters
  '(("l\\.deepspec"
     (to-list    . "haskell-cafe@haskell.org")
     (list-identifier . "\\[Haskell-cafe\\]"))
    ("gnu.*"
-    (gcc-self . t))
-   ;; ("l\\."
-   ;;  (subscribed . t))
-   ("nnimap\\+uwaterloo:.*"
     (gcc-self . t)))
  ;; nnimap-record-commands t
  ;; gnus-large-newsgroup  50
   (add-hook 'gnus-group-mode-hook #'gnus-topic-mode)
   (add-hook 'gnus-group-mode-hook #'gnus-agent-mode))
 ;; global key bindings
-(global-set-key (kbd "C-c m") #'gnus-plugged)
-(global-set-key (kbd "C-c M") #'gnus-unplugged)
+(global-set-key (kbd "C-c g") #'gnus-plugged)
+(global-set-key (kbd "C-c G") #'gnus-unplugged)
 
 (with-eval-after-load 'gnus-art
   (setq
                              ;; "^References:"
                              "^List-Id:"
                              "^Gnus-Warning:")
-   gnus-visible-headers (mapconcat 'identity
+   gnus-visible-headers (mapconcat #'identity
                                    gnus-sorted-header-list
                                    "\\|")
   ;; local-lapsed article dates
 
 (defvar b/sfl-p nil)
 (with-eval-after-load 'gnus-msg
-  (defvar b/shemshak-signature "Amin Bandali
-https://shemshak.org/~bandali")
-  (defvar b/uwaterloo-signature "Amin Bandali, MMath
-https://shemshak.org/~bandali")
-  (defvar b/csc-signature "Amin Bandali (https://shemshak.org/~bandali)
-Systems Committee <syscom@csclub.uwaterloo.ca>
-Computer Science Club of the University of Waterloo")
-  (defvar b/sfl-signature "Amin Bandali
-Free Software Consultant
-Savoir-faire Linux
-jami:bandali")
+  (let ((bandali "Amin Bandali (https://kelar.org/~bandali)"))
+    (defvar b/canonical-signature
+      (mapconcat
+       #'identity
+       `(,bandali
+         "Software Engineer (Desktop), Canonical")
+       "\n"))
+    (defvar b/csc-signature
+      (mapconcat
+       #'identity
+       `(,bandali
+         "Systems Committee <syscom@csclub.uwaterloo.ca>"
+         "Computer Science Club of the University of Waterloo")
+       "\n"))
+    (defvar b/sfl-signature
+      (mapconcat
+       #'identity
+       `(,bandali
+         "Volunteer, Savoir-faire Linux"
+         "jami:bandali")
+       "\n")))
   (setq
    gnus-message-replysign t
    gnus-posting-styles
    '((".*"
       (address "bandali@gnu.org")
       ("X-Message-SMTP-Method" "smtp fencepost.gnu.org 587"))
-     ;; ("nnimap\\+gnu:l\\..*"
-     ;;  (signature nil))
      ((header "subject" "ThankCRM")
       (to "webmasters-comment@gnu.org")
-      (body "")
-      (eval (setq b/message-cite-say-hi nil)))
+      (body ""))
+     ("nnimap\\+kelar:.*"
+      (address "bandali@kelar.org")
+      ("X-Message-SMTP-Method" "smtp mail.kelar.org 587")
+      (gcc "nnimap+kelar:Sent"))
      ("nnimap\\+shemshak:.*"
       (address "amin@shemshak.org")
       ("X-Message-SMTP-Method" "smtp mail.shemshak.org 587")
-      (body "\nBest,\n")
-      (signature b/shemshak-signature)
-      (gcc "nnimap+shemshak:Sent")
-      (eval (setq b/message-cite-say-hi t)))
-     ("nnimap\\+uwaterloo:.*"
-      (address "bandali@uwaterloo.ca")
-      ("X-Message-SMTP-Method" "smtp connect.uwaterloo.ca 587")
-      (body "\nBest,\n")
-      (signature b/uwaterloo-signature))
-     ("nnimap\\+uwaterloo:INBOX"
-      (gcc "\"nnimap+uwaterloo:Sent Items\""))
+      (gcc "nnimap+shemshak:Sent"))
+     ("nnimap\\+canonical:.*"
+      (address "amin.bandali@canonical.com")
+      ("X-Message-SMTP-Method" "smtp smtp.canonical.com 587")
+      (signature b/canonical-signature)
+      (gcc "nnimap+canonical:Sent"))
      ("nnimap\\+csc:.*"
       (address "bandali@csclub.uwaterloo.ca")
       ("X-Message-SMTP-Method" "smtp mail.csclub.uwaterloo.ca 587")
@@ -319,10 +343,10 @@ jami:bandali")
       (gcc "nnimap+csc:Sent"))
      ("nnimap\\+sfl:.*"
       (address "amin.bandali@savoirfairelinux.com")
-      (signature b/sfl-signature)
       ("X-Message-SMTP-Method" "smtp mail.savoirfairelinux.com 587")
-      (gcc "nnimap+sfl:Sent")
-      (eval (setq-local b/sfl-p t))))))
+      (signature b/sfl-signature)
+      (eval (setq-local b/sfl-p t))
+      (gcc "nnimap+sfl:Sent")))))
 ;; hooks
 ;; (with-eval-after-load 'gnus
 ;;   (add-hook 'gnus-message-setup-hook
@@ -337,15 +361,15 @@ jami:bandali")
    gnus-topic-topology
    `(("Gnus" visible nil nil)
      (("misc" visible nil nil))
-     ,@(cond
-        ((string= (system-name) "jirud")
-         '((("sfl" visible nil nil))))
-        ((string= (system-name) "langa")
+     ,@(if (string= (system-name) "darya")
+           '((("canonical" visible nil nil)))
          '((("csc" visible nil nil))
            (("uwaterloo" visible nil nil))
+           (("kelar" visible nil nil))
            (("shemshak" visible nil nil))
            (("gnu" visible nil nil))
-           (("old-gnu" visible nil nil))))))))
+           (("old-gnu" visible nil nil))
+           (("sfl" visible nil nil)))))))
 
 (with-eval-after-load 'gnus-agent
   (setq gnus-agent-synchronize-flags 'ask))