emacs/gnus.el

144 lines
5.4 KiB
EmacsLisp
Raw Normal View History

2021-04-19 13:24:46 +00:00
;;; gnus.el -*- lexical-binding: t; coding: utf-8-unix -*-
;; Author: Case Duckworth <acdw@acdw.net>
;; Created: Sometime during Covid-19, 2020
;; Keywords: configuration
;; URL: https://tildegit.org/acdw/emacs
;; This file is NOT part of GNU Emacs.
;;; License:
;; Everyone is permitted to do whatever with this software, without
;; limitation. This software comes without any warranty whatsoever,
;; but with two pieces of advice:
;; - Don't hurt yourself.
;; - Make good choices.
;;; Code:
2021-04-21 22:22:23 +00:00
;;; Select Methods
(setq gnus-select-method '(nnnil ""))
2021-04-19 13:24:46 +00:00
2021-04-21 22:22:23 +00:00
(setq gnus-secondary-select-methods
'((nnimap "fastmail.com"
2021-04-21 22:22:23 +00:00
(nnimap-address "imap.fastmail.com")
(nnimap-server-port 993)
(nnimap-stream ssl)
(nnir-search-engine imap))
(nntp "news.tilde.club")))
2021-04-19 13:24:46 +00:00
;;; Gnus subscriptions
(setq gnus-options-subscribe (rx (or ;; all alternatives go under this
(seq string-start
"nnimap+fastmail.com:"
(or ;; folders in Fastmail
"INBOX")))
(seq string-start
"nntp+news.tilde.club:"
(or ;; news groups in tilde.club
(seq "local."
(or "general"))
(seq "tilde."
(or "art"
"club"
"cosmic"
"food+drink"
"gopher"
"meta"
"poetry"
"services"))))))
(setq gnus-options-not-subscribe (rx (or ;; all alternatives go under this
(seq string-start
"nnimap+fastmail.com:"
(or ;; folders in Fastmail
"Archive"
"Bulk"
"DeltaChat"
"Gmail"
"Pam"
"Spam"
"Trash"
"blag"
"notes"))
(seq string-start
"nntp+news.tilde.club:"
(or ;; news groups in tilde.club
(seq "tilde."
(or "black"
"javascript"
"nsfw"
"php"
"pink"
"python"
"your")))))))
2021-04-27 16:34:29 +00:00
;;; Gnus behavior options
(setq gnus-gcc-mark-as-read t
message-signature (or (file-exists-p message-signature-file)
"~ acdw")
gnus-save-newsrc-file nil
gnus-read-newsrc-file nil)
2021-04-27 16:34:29 +00:00
2021-04-21 22:22:23 +00:00
;;; Gnus UI options
2021-04-19 13:24:46 +00:00
(setq gnus-thread-sort-functions '(gnus-thread-sort-by-most-recent-date
(not gnus-thread-sort-by-number))
gnus-use-cache t
gnus-summary-thread-gathering-function #'gnus-gather-threads-by-subject
gnus-thread-hide-subtree t
gnus-thread-ignore-subject t)
2021-04-21 22:22:23 +00:00
(when window-system
(setq gnus-sum-thread-tree-indent " ")
(setq gnus-sum-thread-tree-root "")
(setq gnus-sum-thread-tree-false-root "")
(setq gnus-sum-thread-tree-single-indent "")
(setq gnus-sum-thread-tree-vertical "")
(setq gnus-sum-thread-tree-leaf-with-other "├─ ")
(setq gnus-sum-thread-tree-single-leaf "╰─ "))
(setq gnus-summary-line-format
(concat
"%0{%U%R%z%}"
2021-04-27 16:33:48 +00:00
"%3{│%}" "%1{%d%}" "%3{│%}" ; date
2021-04-21 22:22:23 +00:00
" "
2021-04-27 16:33:48 +00:00
"%4{%-20,20f%}" ; name
2021-04-21 22:22:23 +00:00
" "
"%3{│%}"
" "
"%1{%B%}"
"%s\n"))
(setq gnus-summary-display-arrow t)
(add-hook 'gnus-group-mode-hook #'hl-line-mode)
(add-hook 'gnus-article-mode-hook #'acdw/reading-mode)
2021-04-21 22:22:23 +00:00
;;; Sending mail
(setq send-mail-function #'smtpmail-send-it
message-send-mail-function #'smtpmail-send-it
smtpmail-smtp-server "smtp.fastmail.com"
smtpmail-default-smtp-server "smtp.fastmail.com"
smtpmail-smtp-service 465
smtpmail-stream-type 'ssl
smtpmail-smtp-user "acdw@fastmail.com"
message-kill-buffer-on-exit t)
;;; Packages
;; searching (?)
(require 'nnir)
;; contacts
(setup (:straight bbdb)
(require 'bbdb)
(bbdb-initialize 'message 'gnus 'mail)
(bbdb-insinuate-message)
(add-hook 'gnus-startup-hook 'bbdb-insinuate-gnus)
(:option bbdb/gnus-summary-prefer-real-names t
bbdb/mail-auto-create-p t
bbdb/news-auto-create-p t
bbdb-use-pop-up t
bbdb-offer-save 1
bbdb-update-records-p t))