summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitmodules3
-rw-r--r--init.org57
m---------lib/gnus-alias0
3 files changed, 48 insertions, 12 deletions
diff --git a/.gitmodules b/.gitmodules
index db55daa..2469ae7 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -107,6 +107,9 @@
[submodule "git-modes"]
path = lib/git-modes
url = git@github.com:magit/git-modes.git
+[submodule "gnus-alias"]
+ path = lib/gnus-alias
+ url = git@github.com:hexmode/gnus-alias.git
[submodule "graphql"]
path = lib/graphql
url = git@github.com:vermiculus/graphql.el.git
diff --git a/init.org b/init.org
index c784100..8de259e 100644
--- a/init.org
+++ b/init.org
@@ -1756,7 +1756,7 @@ Hopefully temporary.
** Gnus
-#+begin_src emacs-lisp :tangle yes
+#+begin_src emacs-lisp
(setq amin-gnus-init-file (no-littering-expand-etc-file-name "gnus"))
(use-package gnus
@@ -1782,10 +1782,7 @@ Hopefully temporary.
'(("amin"
(display . 20))
("uwaterloo"
- (display . 20)
- (posting-style
- (address "abandali@uwaterloo.ca")
- (gcc "\"nnimap+uwaterloo:Sent Items\""))))
+ (display . 20)))
gnus-home-directory (no-littering-expand-var-file-name "gnus/")
gnus-directory (no-littering-expand-var-file-name "gnus/News/")
message-directory amin-maildir
@@ -1842,19 +1839,55 @@ Hopefully temporary.
(setq nnmail-extra-headers (append nnmail-extra-headers
'(List-Id X-RT-Originator))))
-(use-package gnus-msg
- :config
- (setq gnus-posting-styles
- '(((header "delivered-to" "amin@aminb.org")
- (address "amin@aminb.org"))
- ((header "delivered-to" "gnu@aminb.org")
- (address "bandali@gnu.org")))))
+(use-package gnus-group
+ :hook (gnus-group-mode . gnus-topic-mode))
(use-package mm-decode
:config
(setq mm-discouraged-alternatives '("text/html" "text/richtext")))
#+end_src
+** gnus-alias
+
+#+begin_src emacs-lisp
+(use-package gnus-alias
+ :commands (gnus-alias-determine-identity
+ gnus-alias-select-identity)
+ :bind (:map message-mode-map
+ ("s-i" . gnus-alias-select-identity))
+ :config
+ (setq
+ gnus-alias-default-identity "amin"
+ gnus-alias-identity-alist
+ '(("amin"
+ nil ;; Does not refer to any other identity
+ "Amin Bandali <amin@aminb.org>"
+ nil ;; Organization
+ nil ;; extra headers
+ nil ;; extra body text
+ nil) ;; signature file
+ ("gnu"
+ nil
+ "Amin Bandali <bandali@gnu.org>"
+ nil
+ nil
+ nil
+ nil)
+ ("uw"
+ nil
+ "Amin Bandali <abandali@uwaterloo.ca>"
+ nil
+ (("Gcc" . "\"nnimap+uwaterloo:Sent Items\""))
+ nil
+ nil))
+ gnus-alias-identity-rules
+ '(("amin" ("Delivered-To" "<amin\\@aminb\\.org" both) "amin")
+ ("gnu" ("Delivered-To" "<gnu\\@aminb\\.org" both) "gnu")
+ ("uw" ("any" "<\\(.+\\)\\@uwaterloo\\.ca" both) "uw"))
+ gnus-alias-override-user-mail-address t)
+ :hook (message-setup . gnus-alias-determine-identity))
+#+end_src
+
** sendmail
#+begin_src emacs-lisp
diff --git a/lib/gnus-alias b/lib/gnus-alias
new file mode 160000
+Subproject 9447d3ccb4c0e75d0468899cccff7aa249657ba