** 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
'(("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
(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