(setq recentf-max-saved-items 40))
#+end_src
+*** smex
+
+#+begin_quote
+A smart M-x enhancement for Emacs.
+#+end_quote
+
+Mostly because =counsel= needs it to remember history.
+
+#+begin_src emacs-lisp
+(use-package smex
+ :defer t)
+#+end_src
+
*** [[https://github.com/abo-abo/swiper][Ivy]] (and friends)
#+begin_quote
("C-c l l" . hs-lint)))
#+end_src
-** COMMENT Web dev
+** Web
*** SGML and HTML
#+begin_src emacs-lisp
(use-package geiser)
-(use-package geiser-guile
+(use-feature geiser-guile
:config
(setq geiser-guile-load-path "~/src/git/guix"))
#+end_src
** COMMENT guix
#+begin_src emacs-lisp
-(use-package guix
- :load-path "lib/guix/elisp")
+(use-package guix)
#+end_src
-* COMMENT Emacs enhancements
+* Emacs enhancements
:PROPERTIES:
:CUSTOM_ID: emacs-enhancements
:END:
** [[https://github.com/bbatsov/crux][crux]]
#+begin_src emacs-lisp
-(use-package crux
+(use-package crux ; results in Waiting for git... [2 times]
:defer 1
:bind (("C-c b k" . crux-kill-other-buffers)
("C-c d" . crux-duplicate-current-line-or-region)
("a" . mc/mark-all-like-this))))
#+end_src
-* COMMENT Email
+* Email
:PROPERTIES:
:CUSTOM_ID: email
:END:
mail-user-agent 'gnus-user-agent
read-mail-command 'gnus)
-(use-package gnus
+(use-feature gnus
:bind (("s-m" . gnus)
("s-M" . gnus-unplugged))
:init
gnus-interactive-exit nil
gnus-gcc-mark-as-read t))
-(use-package gnus-art
+(use-feature gnus-art
:config
(setq
gnus-visible-headers
("R" . gnus-article-wide-reply-with-original)
("M-L" . org-store-link)))
-(use-package gnus-sum
+(use-feature gnus-sum
:bind (:map gnus-summary-mode-map
:prefix-map a/gnus-summary-prefix-map
:prefix "v"
("M-L" . org-store-link))
:hook (gnus-summary-mode . a/no-mouse-autoselect-window))
-(use-package gnus-msg
+(use-feature gnus-msg
:config
(setq gnus-posting-styles
'((".*"
(address "abandali@uwaterloo.ca")
(gcc "\"nnimap+uwaterloo:Sent Items\"")))))
-(use-package gnus-topic
+(use-feature gnus-topic
:hook (gnus-group-mode . gnus-topic-mode))
-(use-package gnus-agent
+(use-feature gnus-agent
:config
(setq gnus-agent-synchronize-flags 'ask)
:hook (gnus-group-mode . gnus-agent-mode))
-(use-package gnus-group
+(use-feature gnus-group
:config
(setq gnus-permanently-visible-groups "\\((INBOX\\|gnu$\\)"))
-(use-package mm-decode
+(use-feature mm-decode
:config
(setq mm-discouraged-alternatives '("text/html" "text/richtext")))
#+end_src
** sendmail
#+begin_src emacs-lisp
-(use-package sendmail
+(use-feature sendmail
:config
(setq sendmail-program "/usr/bin/msmtp"
;; message-sendmail-extra-arguments '("-v" "-d")
** message
#+begin_src emacs-lisp
-(use-package message
+(use-feature message
:config
(defconst a/message-cite-style-format "On %Y-%m-%d %l:%M %p, %N wrote:")
(defconst message-cite-style-bandali
Convenient footnotes in =message-mode=.
#+begin_src emacs-lisp
-(use-package footnote
+(use-feature footnote
:after message
:bind
(:map message-mode-map
(with-eval-after-load 'swiper
(add-to-list 'swiper-font-lock-exclude 'ebdb-mode t)))
-(use-package ebdb-com
+(use-feature ebdb-com
:after ebdb)
;; (use-package ebdb-complete
(add-to-list (make-local-variable 'company-backends)
'company-ebdb))))
-(use-package ebdb-gnus
+(use-feature ebdb-gnus
:after ebdb
:custom
(ebdb-gnus-window-configuration
(article 1.0)
(ebdb-gnus 0.3))))))
-(use-package ebdb-mua
+(use-feature ebdb-mua
:after ebdb
;; :custom (ebdb-mua-pop-up nil)
)
(gnus-harvest-install)))
#+end_src
-* COMMENT Blogging
+* Blogging
:PROPERTIES:
:CUSTOM_ID: blogging
:END:
(use-package ox-hugo
:after ox)
-(use-package ox-hugo-auto-export
- :load-path "lib/ox-hugo")
+(use-feature ox-hugo-auto-export
+ :after ox-hugo)
#+end_src
* Post initialization