+** Gnus
+
+#+begin_src emacs-lisp :tangle yes
+(setq amin-gnus-init-file (no-littering-expand-etc-file-name "gnus"))
+
+(use-package gnus
+ :bind ("s-m" . gnus)
+ :init
+ (setq
+ gnus-select-method
+ '(nnimap "local"
+ (nnimap-address "localhost")
+ (nnimap-stream shell))
+ nnimap-shell-program "/usr/lib/dovecot/imap -o mail_location=maildir:$MAILDIR/amin:LAYOUT=fs:INBOX=$MAILDIR/amin/Inbox"
+ ;; gnus-init-file amin-gnus-init-file
+ gnus-home-directory (no-littering-expand-var-file-name "gnus/")
+ ;; gnus-directory (no-littering-expand-var-file-name "gnus/News/")
+ ;; message-directory amin-maildir
+ gnus-save-newsrc-file nil
+ gnus-read-newsrc-file nil
+ gnus-interactive-exit nil
+ gnus-gcc-mark-as-read t))
+
+(use-package gnus-art
+ :config
+ (setq
+ gnus-visible-headers
+ (concat gnus-visible-headers "\\|^List-Id:\\|^X-RT-Originator:")
+ gnus-sorted-header-list
+ '("^From:" "^Subject:" "^Summary:" "^Keywords:"
+ "^Followup-To:" "^To:" "^Cc:" "X-RT-Originator"
+ "^Newsgroups:" "List-Id:" "^Organization:"
+ "^Date:")
+ ;; local-lapsed article dates
+ ;; from https://www.emacswiki.org/emacs/GnusFormatting#toc11
+ gnus-article-date-headers '(user-defined)
+ gnus-article-time-format
+ (lambda (time)
+ (let* ((date (format-time-string "%a, %d %b %Y %T %z" time))
+ (local (article-make-date-line date 'local))
+ (combined-lapsed (article-make-date-line date
+ 'combined-lapsed))
+ (lapsed (progn
+ (string-match " (.+" combined-lapsed)
+ (match-string 0 combined-lapsed))))
+ (concat local lapsed)))))
+
+(use-package gnus-sum
+ :config
+ (setq gnus-extra-headers (append gnus-extra-headers
+ '(List-Id X-RT-Originator))))
+
+(use-package nnmail
+ :config
+ (setq nnmail-extra-headers (append nnmail-extra-headers
+ '(List-Id X-RT-Originator))))
+
+(use-package mm-decode
+ :config
+ (setq mm-discouraged-alternatives '("text/html" "text/richtext")))
+#+end_src
+
+# #+begin_src emacs-lisp :tangle (concat gnus-init-file ".el") :mkdirp yes
+#+begin_src emacs-lisp :tangle no
+(setq
+ gnus-select-method
+ '(nnimap "local"
+ (nnimap-address "localhost")
+ (nnimap-stream shell))
+ nnimap-shell-program
+ "/usr/lib/dovecot/imap -o maildir:$MAILDIR/amin:LAYOUT=fs:INBOX=$MAILDIR/amin/Inbox")
+#+end_src
+