emacs-config/gnus.el

55 lines
1.5 KiB
EmacsLisp

;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
;; Gnus Configuration ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;
(require 'gnus)
(require 'gnus-registry)
;;
;; Misc.
;;
(setq gnus-read-newsrc-file nil
gnus-use-dribble-file nil
gnus-message-archive-group "nnimap+disroot:Sent")
;;
;; set select method
;;
;; set IMAP as main "news" source,
;; as the writer has no access to actual news servers,
;; and so gnus is used as a mail reader instead of UUCP news
(require 'imap)
(setq gnus-select-method
`(nnimap ,(cdr (assoc 'name main-mail-server))
(nnimap-address ,(cdr (assoc 'imap-url main-mail-server)))
(nnimap-server-port ,(cdr (assoc 'imap-port main-mail-server)))
(nnimap-stream ,(cdr (assoc 'imap-stream main-mail-server)))
(nnimap-inbox "INBOX"))
gnus-secondary-select-methods
`((nnmaildir "local"
(directory
,(expand-file-name ".local/mails/disroot/" (safe-getenv "HOME" user-home-path))))))
;;
;; Demon
;;
(require 'gnus-demon)
;; let gnus download mail in the background
(setq gnus-use-demon t)
(gnus-demon-add-handler 'gnus-group-get-new-news 5 t)
(gnus-demon-init)
(gnus-demon-add-rescan)
;;
;; Display
;;
(setq gnus-summary-line-format "%d %([%-20,20n] %B %-40,40s%) <%A> :%-3L\n"
gnus-thread-sort-functions '(gnus-thread-sort-by-number
gnus-thread-sort-by-author
gnus-thread-sort-by-subject
gnus-thread-sort-by-most-recent-date))