;;; oni-gnus.el --- Gnus configuration -*- lexical-binding: t; -*- ;; Copyright (C) 2019 Tom Willemse ;; Author: Tom Willemse ;; Keywords: local ;; Version: 2021.0425.180812 ;; Package-Requires: (oni-data-dir) ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; Gnus configuration ;;; Code: (require 'gnus) (require 'gnus-msg) (require 'mail-source) (require 'message) (require 'nnfolder) (require 'oni-data-dir) (require 'sendmail) (setq gnus-directory (oni-data-dir-locate "News") gnus-article-save-directory gnus-directory gnus-cache-directory gnus-directory gnus-kill-files-directory gnus-directory) (setq mail-source-directory (oni-data-dir-locate "Mail") message-directory mail-source-directory nnfolder-directory mail-source-directory) (setq send-mail-function 'send-mail-send-it message-send-mail-function 'message-send-mail-with-sendmail sendmail-program "/usr/bin/msmtp") (setq gnus-novice-user nil) (defun oni-gnus-delete-forward (&optional n) "Delete the article under point and move to the next one. Do this N times." (interactive "p") (dotimes (_ (or n 1)) (gnus-summary-delete-article) (gnus-summary-next-subject 1))) (define-key gnus-summary-mode-map (kbd "M-d") #'oni-gnus-delete-forward) (setq gnus-group-line-format "%P%(%20G%): %-10s %S%p%B %5y %5T\n") (setq gnus-summary-line-format "%U%R%z %&user-date;%20= %I%(%[%4L: %-23,23f%]%) %s\n") (setq gnus-treat-from-gravatar t) (setq gnus-select-method '(nnmaildir "ryuslash" (directory "~/documents/mail/ryuslash/"))) (setq gnus-summary-thread-gathering-function 'gnus-gather-threads-by-references) (setq gnus-thread-sort-functions '(gnus-thread-sort-by-date)) (add-to-list 'gnus-posting-styles '(".*" (address "tom@ryuslash.org") (eval (setq message-sendmail-extra-arguments '("-a" "ryuslash"))))) (add-to-list 'gnus-secondary-select-methods '(nnmaildir "gmail" (directory "~/documents/mail/gmail/"))) (add-to-list 'gnus-posting-styles '("gmail:" (name "Tom Willemse") (address "ryuslash@gmail.com") (eval (setq message-sendmail-extra-arguments '("-a" "gmail"))))) ;;;###autoload(with-eval-after-load 'gnus (require 'oni-gnus)) (provide 'oni-gnus) ;;; oni-gnus.el ends here