summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Paśnikowski <marek@marekpasnikowski.pl>2024-06-07 13:03:39 +0200
committerMarek Paśnikowski <marek@marekpasnikowski.pl>2024-06-07 22:01:45 +0200
commit15ae59b027b4bbdcefde136bf9aa77832388aa46 (patch)
tree91582cf632203c8715748cfa6d913542d95728e5
parent916654d3ee3415d548461de2155ee913bd5cb9aa (diff)
Install gnus in izumi
-rw-r--r--systems/izumi/home-configuration.scm3
-rw-r--r--systems/izumi/home-files/emacs-configuration.el35
-rw-r--r--systems/izumi/home-files/gnus-configuration.el85
-rw-r--r--systems/izumi/izumi.org3
4 files changed, 116 insertions, 10 deletions
diff --git a/systems/izumi/home-configuration.scm b/systems/izumi/home-configuration.scm
index 6b5f47a..52d5f80 100644
--- a/systems/izumi/home-configuration.scm
+++ b/systems/izumi/home-configuration.scm
@@ -130,7 +130,8 @@
'home-files
home-files-service-type
( list
- ( list ".emacs" ( local-file "home-files/emacs-configuration.el" ) )
+ ( list ".emacs" ( local-file "home-files/emacs-configuration.el" ))
+ (list ".gnus" (local-file "home-files/gnus-configuration.el"))
( list ".gitconfig" ( local-file "home-files/gitconfig"))
( list
".config/git/ignore"
diff --git a/systems/izumi/home-files/emacs-configuration.el b/systems/izumi/home-files/emacs-configuration.el
index 9fb4c97..3d91fae 100644
--- a/systems/izumi/home-files/emacs-configuration.el
+++ b/systems/izumi/home-files/emacs-configuration.el
@@ -22,7 +22,26 @@
;;; https://guix.gnu.org/manual/en/html_node/The-Perfect-Setup.html
;;; Copyright Information
(setq-default user-full-name "Marek Paśnikowski"
- user-mail-address "marekpasnikowski@protonmail.com")
+ user-mail-address "marek@marekpasnikowski.pl")
+
+(setq-default epg-gpg-program "gpg2")
+
+;;;https://github.com/redguardtoo/mastering-emacs-in-one-year-guide/blob/master/gnus-guide-en.org#my-gnusel
+(setq-default send-mail-function 'smtpmail-send-it
+ smtpmail-stream-type 'ssl
+ smtpmail-smtp-server "marekpasnikowski.pl"
+ smtpmail-smtp-service 465
+ ;; smtpmail-local-domain "izumi.lan"
+ smtpmail-debug-info t)
+
+(require 'smtpmail)
+
+;;; https://github.com/redguardtoo/mastering-emacs-in-one-year-guide/blob/master/gnus-guide-en.org#my-gnusel
+(add-hook 'message-mode-hook
+ (lambda ()
+ (flyspell-mode t)
+ (local-set-key (kbd "TAB")
+ 'bbdb-complete-name)))
;;; Startup Screen Inhibition
(setq-default inhibit-startup-screen t)
@@ -83,10 +102,10 @@
;; (require 'nix-mode)
;; (add-to-list 'auto-mode-alist '("\\.nix\\'" . nix-mode))
-(setq tramp-remote-path
- (append tramp-remote-path
- '(tramp-own-remote-path
- "~/.guix-profile/bin"
- "~/.guix-profile/sbin"
- "/run/current-system/profile/bin"
- "/run/current-system/profile/sbin")))
+;; (setq tramp-remote-path
+;; (append tramp-remote-path
+;; '(tramp-own-remote-path
+;; "~/.guix-profile/bin"
+;; "~/.guix-profile/sbin"
+;; "/run/current-system/profile/bin"
+;; "/run/current-system/profile/sbin")))
diff --git a/systems/izumi/home-files/gnus-configuration.el b/systems/izumi/home-files/gnus-configuration.el
new file mode 100644
index 0000000..570b8fd
--- /dev/null
+++ b/systems/izumi/home-files/gnus-configuration.el
@@ -0,0 +1,85 @@
+;;; https://github.com/redguardtoo/mastering-emacs-in-one-year-guide/blob/master/gnus-guide-en.org#my-gnusel
+;; (require 'nnir)
+
+;; (setq-default gnus-select-method '(nntp "news.gwene.org"))
+
+(setq-default epa-file-cache-passphrase-for-symmetric-encryption t)
+
+(setq-default gnus-select-method
+ '(nnimap "marekpasnikowski.pl"
+ (nnimap-address "marekpasnikowski.pl")
+ (nnimap-server-port 993)
+ (nnimap-stream ssl)
+ ;; (nnir-search-engine imap)
+ (nnmail-expiry-wait 90)))
+
+(setq-default gnus-thread-sort-functions
+ '(gnus-thread-sort-by-most-recent-date
+ (not gnus-thread-sort-by-number)))
+
+(setq-default gnus-use-cache t)
+
+(defun my-gnus-group-list-subscribed-groups ()
+ "List all subscribed groups with or without un-read messages"
+ ()
+ (interactive)
+ (gnus-group-list-all-groups 5))
+
+(define-key gnus-group-mode-map
+ (kbd "o") 'my-gnus-group-list-subscribed-groups)
+
+;; (add-to-list 'load-path "~/Dokumenty/bbdb")
+;; (require 'bbdb)
+;; (bbdb-initialize 'message 'gnus 'sendmail)
+;; (add-hook 'gnus-startup-hook 'bbdb-insinuate-gnus)
+;; (setq-default bbdb/mail-auto-create-p t
+;; bbdb/news-auto-create-p t)
+
+(setq-default gnus-read-active-file 'some)
+
+(eval-after-load 'mailcap
+ '(progn (cond ((eq system-type 'darwin))
+ ((eq system-type 'windows-nt))
+ (t (mailcap-parse-mailcaps)))))
+
+(add-hook 'gnus-group-mode-hook
+ 'gnus-topic-mode)
+
+(setq-default gnus-summary-thread-gathering-function
+ 'gnus-gather-threads-by-subject)
+
+(setq-default gnus-thread-hide-subtree t)
+(setq-default gnus-thread-ignore-subject t)
+
+(setq-default gnus-use-correct-string-widths nil)
+
+
+(eval-after-load 'gnus-topic
+ '(progn (setq-default gnus-message-archive-group
+ '((format-time-string "sent.%Y")))
+ (setq-default gnus-server-alist
+ '(("archive"
+ nnfolder
+ "archive"
+ (nnfolder-directory "~/Mail/archive")
+ (nnfolder-active-file "~/Mail/archive/active")
+ (nnfolder-get-new-mail nil)
+ (nnfolder-inhibit-expiry t))))
+ (setq-default gnus-topic-topology
+ '(("Gnus" visible)
+ (("marekpasnikowski.pl" visible nil nil))
+ (("misc" visible))))
+ (setq-default gnus-topic-alist
+ '(("marekpasnikowski.pl"
+ "nnimap+marekpasnikowski.pl:Inbox"
+ "nnimap+marekpasnikowski.pl:Drafts"
+ "nnimap+marekpasnikowski.pl:Sent"
+ "nnimap+marekpasnikowski.pl:Archive"
+ "nnimap+marekpasnikowski.pl:Junk"
+ "nnimap+marekpasnikowski.pl:Trash")
+ ("misc"
+ "nnfolder+archive:sent.2024"
+ "nndraft:drafts")
+ ("Gnus")))
+ (gnus-topic-set-parameters "marekpasnikowski.pl"
+ '((display . 200)))))
diff --git a/systems/izumi/izumi.org b/systems/izumi/izumi.org
index a614f2c..a8482e8 100644
--- a/systems/izumi/izumi.org
+++ b/systems/izumi/izumi.org
@@ -846,7 +846,8 @@
'home-files
home-files-service-type
( list
- ( list ".emacs" ( local-file "home-files/emacs-configuration.el" ) )
+ ( list ".emacs" ( local-file "home-files/emacs-configuration.el" ))
+ (list ".gnus" (local-file "home-files/gnus-configuration.el"))
( list ".gitconfig" ( local-file "home-files/gitconfig"))
( list
".config/git/ignore"