summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAmin Bandali <bandali@gnu.org>2021-05-18 18:54:57 -0400
committerAmin Bandali <bandali@gnu.org>2021-05-18 18:54:57 -0400
commit8ab693f86a241e0531b22e04132290267a54e1ea (patch)
treecfaa74c93f35b2e6db0738a934a3d71a1c41de30
parentc6e4b014cb53f028da64232b28053d48014ab12b (diff)
downloadconfigs-8ab693f86a241e0531b22e04132290267a54e1ea.tar.gz
configs-8ab693f86a241e0531b22e04132290267a54e1ea.tar.xz
configs-8ab693f86a241e0531b22e04132290267a54e1ea.zip
gnus: conditional mail setup based on hostname
-rw-r--r--.emacs.d/lisp/bandali-gnus.el201
1 files changed, 107 insertions, 94 deletions
diff --git a/.emacs.d/lisp/bandali-gnus.el b/.emacs.d/lisp/bandali-gnus.el
index 6c8998a..5007abd 100644
--- a/.emacs.d/lisp/bandali-gnus.el
+++ b/.emacs.d/lisp/bandali-gnus.el
@@ -46,92 +46,101 @@
gnus-select-method '(nnnil "")
gnus-secondary-select-methods
- '((nnimap "shemshak"
- (nnimap-stream plain)
- (nnimap-address "127.0.0.1")
- (nnimap-server-port 143)
- (nnimap-authenticator plain)
- (nnimap-user "bandali@shemshak.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-inbox "INBOX")
- (nnimap-split-methods 'nnimap-split-fancy)
- (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")
- ;; list moderation emails
- (from ".+-\\(owner\\|bounces\\)@\\(non\\)?gnu\\.org" "listmod")
- ;; 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")
- ;; haskell
- (list ".*<\\(.*\\)\\.haskell\\.org>.*" "l.\\1")
- ;; *.lists.sr.ht, omitting one dot if present
- ;; add more \\.?\\([^.]*\\) if needed
- (list ".*<~\\(.*\\)/\\([^.]*\\)\\.?\\([^.]*\\)\\.lists\\.sr\\.ht>.*" "l.~\\1.\\2\\3")
- ;; webmasters
- (from "webmasters\\(-comment\\)?@gnu\\.org" "webmasters")
- ;; other
- ("subject" "nagios-fsf:.*" "nagios-fsf")
- (list ".*atreus.freelists.org" "l.atreus")
- (list ".*deepspec.lists.cs.princeton.edu" "l.deepspec")
- ;; (list ".*haskell-art.we.lurk.org" "l.haskell.art") ;d
- ;; (list ".*notmuch.notmuchmail.org" "l.notmuch") ;u
- (list ".*dev.lists.parabola.nu" "l.parabola-dev")
- ;; ----------------------------------
- ;; legend: (u)nsubscribed | (d)ead
- ;; ----------------------------------
- ;; spam
- ("X-Spam_action" "reject" "Junk")
- ;; otherwise, leave mail in INBOX
- "INBOX")))
- (nnimap "uwaterloo"
- (nnimap-stream plain)
- (nnimap-address "127.0.0.1")
- (nnimap-server-port 143)
- (nnimap-authenticator plain)
- (nnimap-user "abandali@uwaterloo.local")
- (nnimap-inbox "INBOX")
- (nnimap-split-methods 'nnimap-split-fancy)
- (nnimap-split-fancy (|
- ;; (: gnus-registry-split-fancy-with-parent)
- ;; se212-f19
- ("subject" "SE\\s-?212" "course.se212-f19")
- (from "SE\\s-?212" "course.se212-f19")
- ;; catch-all
- "INBOX")))
- (nnimap "csc"
- (nnimap-stream plain)
- (nnimap-address "127.0.0.1")
- (nnimap-server-port 143)
- (nnimap-authenticator plain)
- (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 plain)
- (nnimap-address "127.0.0.1")
- (nnimap-server-port 143)
- (nnimap-authenticator plain)
- (nnimap-user "amin.bandali@savoirfairelinux.local")))
+ `(,@(cond
+ ((string= (system-name) "langa")
+ '((nnimap
+ "shemshak"
+ (nnimap-stream plain)
+ (nnimap-address "127.0.0.1")
+ (nnimap-server-port 143)
+ (nnimap-authenticator plain)
+ (nnimap-user "bandali@shemshak.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-inbox "INBOX")
+ (nnimap-split-methods 'nnimap-split-fancy)
+ (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")
+ ;; list moderation emails
+ (from ".+-\\(owner\\|bounces\\)@\\(non\\)?gnu\\.org" "listmod")
+ ;; 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")
+ ;; haskell
+ (list ".*<\\(.*\\)\\.haskell\\.org>.*" "l.\\1")
+ ;; *.lists.sr.ht, omitting one dot if present
+ ;; add more \\.?\\([^.]*\\) if needed
+ (list ".*<~\\(.*\\)/\\([^.]*\\)\\.?\\([^.]*\\)\\.lists\\.sr\\.ht>.*" "l.~\\1.\\2\\3")
+ ;; webmasters
+ (from "webmasters\\(-comment\\)?@gnu\\.org" "webmasters")
+ ;; other
+ ("subject" "nagios-fsf:.*" "nagios-fsf")
+ (list ".*atreus.freelists.org" "l.atreus")
+ (list ".*deepspec.lists.cs.princeton.edu" "l.deepspec")
+ ;; (list ".*haskell-art.we.lurk.org" "l.haskell.art") ;d
+ ;; (list ".*notmuch.notmuchmail.org" "l.notmuch") ;u
+ (list ".*dev.lists.parabola.nu" "l.parabola-dev")
+ ;; ----------------------------------
+ ;; legend: (u)nsubscribed | (d)ead
+ ;; ----------------------------------
+ ;; spam
+ ("X-Spam_action" "reject" "Junk")
+ ;; otherwise, leave mail in INBOX
+ "INBOX")))
+ (nnimap
+ "uwaterloo"
+ (nnimap-stream plain)
+ (nnimap-address "127.0.0.1")
+ (nnimap-server-port 143)
+ (nnimap-authenticator plain)
+ (nnimap-user "abandali@uwaterloo.local")
+ (nnimap-inbox "INBOX")
+ (nnimap-split-methods 'nnimap-split-fancy)
+ (nnimap-split-fancy
+ (|
+ ;; (: gnus-registry-split-fancy-with-parent)
+ ;; se212-f19
+ ("subject" "SE\\s-?212" "course.se212-f19")
+ (from "SE\\s-?212" "course.se212-f19")
+ ;; catch-all
+ "INBOX")))
+ (nnimap
+ "csc"
+ (nnimap-stream plain)
+ (nnimap-address "127.0.0.1")
+ (nnimap-server-port 143)
+ (nnimap-authenticator plain)
+ (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")))))
+ ((string= (system-name) "jirud")
+ '((nnimap
+ "sfl"
+ (nnimap-stream tls)
+ (nnimap-address "mail.savoirfairelinux.com")
+ (nnimap-user "amin.bandali"))))))
gnus-message-archive-group "nnimap+gnu:INBOX"
gnus-parameters
'(("l\\.deepspec"
@@ -324,14 +333,18 @@ jami:bandali")
(with-eval-after-load 'gnus-topic
(csetq
gnus-topic-line-format "%i[ %A: %(%{%n%}%) ]%v\n"
- gnus-topic-topology '(("Gnus" visible nil nil)
- (("misc" visible nil nil))
- (("sfl" visible nil nil))
- (("csc" visible nil nil))
- (("uwaterloo" visible nil nil))
- (("shemshak" visible nil nil))
- (("gnu" visible nil nil))
- (("old-gnu" visible nil nil)))))
+ gnus-topic-topology
+ `(("Gnus" visible nil nil)
+ (("misc" visible nil nil))
+ ,@(cond
+ ((string= (system-name) "jirud")
+ '((("sfl" visible nil nil))))
+ ((string= (system-name) "langa")
+ '((("csc" visible nil nil))
+ (("uwaterloo" visible nil nil))
+ (("shemshak" visible nil nil))
+ (("gnu" visible nil nil))
+ (("old-gnu" visible nil nil))))))))
(with-eval-after-load 'gnus-agent
(csetq gnus-agent-synchronize-flags 'ask))