aboutsummaryrefslogtreecommitdiffstats
path: root/oni-gnus.el
diff options
context:
space:
mode:
authorGravatar Tom Willemse2019-02-26 02:31:20 -0800
committerGravatar Tom Willemse2019-02-26 02:31:20 -0800
commitbd89227155ae0156a6701d2f5beb1ddbdfd191e2 (patch)
treea2d2820871129bd594b6582fad9abc6c57645f43 /oni-gnus.el
parent0bf686bdd62cb385af155721eb8222684d2881a1 (diff)
downloademacs-config-bd89227155ae0156a6701d2f5beb1ddbdfd191e2.tar.gz
emacs-config-bd89227155ae0156a6701d2f5beb1ddbdfd191e2.zip
Add oni-gnus
Diffstat (limited to 'oni-gnus.el')
-rw-r--r--oni-gnus.el85
1 files changed, 85 insertions, 0 deletions
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 <tom@ryuslash.org>
+;; 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 <https://www.gnu.org/licenses/>.
+
+;;; 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