diff --git a/oni-gnus.el b/oni-gnus.el new file mode 100644 index 0000000..186eef2 --- /dev/null +++ b/oni-gnus.el @@ -0,0 +1,85 @@ +;;; oni-gnus.el --- Gnus configuration -*- lexical-binding: t; -*- + +;; Copyright (C) 2019 Tom Willemse + +;; Author: Tom Willemse +;; Keywords: local +;; Version: 20190226022941 + +;; 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 'sendmail) + +(setq gnus-directory (locate-user-emacs-file "data/News") + gnus-article-save-directory gnus-directory + gnus-cache-directory gnus-directory + gnus-kill-files-directory gnus-directory) + +(setq mail-source-directory (locate-user-emacs-file "data/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-select-method + '(nnmaildir "ryuslash" (directory "~/documents/mail/ryuslash/"))) + +(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