[emacs][wip] enable Email
[~bandali/configs] / init.org
index 074b892..16351aa 100644 (file)
--- a/init.org
+++ b/init.org
@@ -718,6 +718,12 @@ for this.
 (setq-default cursor-type 'bar)
 #+end_src
 
+*** Allow scrolling in Isearch
+
+#+begin_src emacs-lisp
+(setq isearch-allow-scroll t)
+#+end_src
+
 ** Bindings
 
 #+begin_src emacs-lisp
@@ -1194,7 +1200,42 @@ There's no way I could top that, so I won't attempt to.
   :hook (dired-mode . dired-hide-details-mode))
 #+end_src
 
-*** =diff-hl=
+*** Help
+
+#+begin_src emacs-lisp
+(use-feature help
+  :defer t
+  :config
+  (temp-buffer-resize-mode)
+  (setq help-window-select t))
+#+end_src
+
+*** Tramp
+
+#+begin_src emacs-lisp
+(use-feature tramp
+  :defer t
+  :config
+  (add-to-list 'tramp-default-proxies-alist '(nil "\\`root\\'" "/ssh:%h:"))
+  (add-to-list 'tramp-default-proxies-alist '("localhost" nil nil))
+  (add-to-list 'tramp-default-proxies-alist
+               (list (regexp-quote (system-name)) nil nil)))
+#+end_src
+
+*** Dash
+
+#+begin_src emacs-lisp
+(use-package dash
+  :defer t
+  :config (dash-enable-font-lock))
+#+end_src
+
+* Editing
+:PROPERTIES:
+:CUSTOM_ID: editing
+:END:
+
+** =diff-hl=
 
 Highlight uncommitted changes in the left fringe.
 
@@ -1203,83 +1244,65 @@ Highlight uncommitted changes in the left fringe.
   :config
   (setq diff-hl-draw-borders nil)
   (global-diff-hl-mode)
-  (add-hook 'magit-post-refresh-hook 'diff-hl-magit-post-refresh t))
+  :hook (magit-post-refresh . diff-hl-magit-post-refresh))
 #+end_src
 
-*** Borg's =layer/essentials=
-:PROPERTIES:
-:CUSTOM_ID: borg-essentials
-:END:
+** ElDoc
 
-TODO: break this giant source block down into individual org sections.
+Display Lisp objects at point in the echo area.
 
 #+begin_src emacs-lisp
-(use-package dash
-  :config (dash-enable-font-lock))
-
 (use-feature eldoc
   :when (version< "25" emacs-version)
   :config (global-eldoc-mode))
+#+end_src
 
-(use-feature help
-  :defer t
-  :config
-  (temp-buffer-resize-mode)
-  (setq help-window-select t))
-
-(progn ;    `isearch'
-  (setq isearch-allow-scroll t))
-
-(use-feature lisp-mode
-  :config
-  (add-hook 'emacs-lisp-mode-hook 'outline-minor-mode)
-  (add-hook 'emacs-lisp-mode-hook 'reveal-mode)
-  (defun indent-spaces-mode ()
-    (setq indent-tabs-mode nil))
-  (add-hook 'lisp-interaction-mode-hook #'indent-spaces-mode))
+** paren
 
-(use-feature man
-  :defer t
-  :config (setq Man-width 80))
+Highlight matching parens.
 
+#+begin_src emacs-lisp
 (use-feature paren
   :config (show-paren-mode))
+#+end_src
 
-(use-feature prog-mode
-  :config (global-prettify-symbols-mode)
-  (defun indicate-buffer-boundaries-left ()
-    (setq indicate-buffer-boundaries 'left))
-  (add-hook 'prog-mode-hook #'indicate-buffer-boundaries-left))
+** =savehist=
 
+Save minibuffer history.
+
+#+begin_src emacs-lisp
 (use-feature savehist
   :config (savehist-mode))
+#+end_src
+
+** =saveplace=
+
+Automatically save place in each file.
 
+#+begin_src emacs-lisp
 (use-feature saveplace
   :when (version< "25" emacs-version)
   :config (save-place-mode))
+#+end_src
 
-(use-feature simple
-  :config (column-number-mode))
+** =prog-mode=
 
-(progn ;    `text-mode'
-  (add-hook 'text-mode-hook #'indicate-buffer-boundaries-left)
-  (add-hook 'text-mode-hook #'abbrev-mode))
+#+begin_src emacs-lisp
+(use-feature prog-mode
+  :config (global-prettify-symbols-mode)
+  (defun indicate-buffer-boundaries-left ()
+    (setq indicate-buffer-boundaries 'left))
+  (add-hook 'prog-mode-hook #'indicate-buffer-boundaries-left))
+#+end_src
 
-(use-feature tramp
-  :defer t
-  :config
-  (add-to-list 'tramp-default-proxies-alist '(nil "\\`root\\'" "/ssh:%h:"))
-  (add-to-list 'tramp-default-proxies-alist '("localhost" nil nil))
-  (add-to-list 'tramp-default-proxies-alist
-               (list (regexp-quote (system-name)) nil nil)))
+** =text-mode=
 
+#+begin_src emacs-lisp
+(use-feature text-mode
+  :hook ((text-mode . indicate-buffer-boundaries-left)
+         (text-mode . abbrev-mode)))
 #+end_src
 
-* COMMENT Editing
-:PROPERTIES:
-:CUSTOM_ID: editing
-:END:
-
 ** Company
 
 #+begin_src emacs-lisp
@@ -1299,10 +1322,7 @@ TODO: break this giant source block down into individual org sections.
   (global-company-mode t))
 #+end_src
 
-* COMMENT Syntax and spell checking
-:PROPERTIES:
-:CUSTOM_ID: syntax-spell-checking
-:END:
+** Flycheck
 
 #+begin_src emacs-lisp
 (use-package flycheck
@@ -1346,15 +1366,28 @@ TODO: break this giant source block down into individual org sections.
               #'endless/replace-quote))
 #+end_src
 
-* COMMENT Programming modes
+* Programming modes
 :PROPERTIES:
 :CUSTOM_ID: programming-modes
 :END:
 
+** Lisp
+
+#+begin_src emacs-lisp
+(use-feature lisp-mode
+  :config
+  (add-hook 'emacs-lisp-mode-hook 'outline-minor-mode)
+  (add-hook 'emacs-lisp-mode-hook 'reveal-mode)
+  (defun indent-spaces-mode ()
+    (setq indent-tabs-mode nil))
+  (add-hook 'lisp-interaction-mode-hook #'indent-spaces-mode))
+#+end_src
+
 ** [[http://alloytools.org][Alloy]] (with [[https://github.com/dwwmmn/alloy-mode][alloy-mode]])
 
 #+begin_src emacs-lisp
 (use-package alloy-mode
+  :straight (:host github :repo "dwwmmn/alloy-mode")
   :defer t
   :config (setq alloy-basic-offset 2))
 #+end_src
@@ -1362,9 +1395,8 @@ TODO: break this giant source block down into individual org sections.
 ** [[https://coq.inria.fr][Coq]] (with [[https://github.com/ProofGeneral/PG][Proof General]])
 
 #+begin_src emacs-lisp
-(use-package proof-site  ; Proof General
-  :defer t
-  :load-path "lib/proof-site/generic/")
+(use-package proof-general
+  :defer t)
 #+end_src
 
 ** [[https://leanprover.github.io][Lean]] (with [[https://github.com/leanprover/lean-mode][lean-mode]])
@@ -1574,7 +1606,7 @@ instead.
               ("C-c l l" . hs-lint)))
 #+end_src
 
-** Web dev
+** Web
 
 *** SGML and HTML
 
@@ -1701,28 +1733,35 @@ treemacs
   :after (treemacs))
 #+end_src
 
-** geiser
+** COMMENT geiser
 
 #+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
 
-** guix
+** 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:
 
+** man
+
+#+begin_src emacs-lisp
+(use-feature man
+  :defer t
+  :config (setq Man-width 80))
+#+end_src
+
 ** [[https://github.com/justbur/emacs-which-key][which-key]]
 
 #+begin_quote
@@ -1825,7 +1864,7 @@ Emacs package that displays available keybindings in popup
 ** [[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)
@@ -2063,7 +2102,7 @@ Also see [[https://www.emacswiki.org/emacs/rebox2][rebox2]].
                ("a" . mc/mark-all-like-this))))
 #+end_src
 
-* COMMENT Email
+* Email
 :PROPERTIES:
 :CUSTOM_ID: email
 :END:
@@ -2082,7 +2121,7 @@ Also see [[https://www.emacswiki.org/emacs/rebox2][rebox2]].
  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
@@ -2115,7 +2154,7 @@ Also see [[https://www.emacswiki.org/emacs/rebox2][rebox2]].
    gnus-interactive-exit nil
    gnus-gcc-mark-as-read t))
 
-(use-package gnus-art
+(use-feature gnus-art
   :config
   (setq
    gnus-visible-headers
@@ -2144,7 +2183,7 @@ Also see [[https://www.emacswiki.org/emacs/rebox2][rebox2]].
    ("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"
@@ -2159,7 +2198,7 @@ Also see [[https://www.emacswiki.org/emacs/rebox2][rebox2]].
    ("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
         '((".*"
@@ -2176,19 +2215,19 @@ Also see [[https://www.emacswiki.org/emacs/rebox2][rebox2]].
            (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
@@ -2196,7 +2235,7 @@ Also see [[https://www.emacswiki.org/emacs/rebox2][rebox2]].
 ** sendmail
 
 #+begin_src emacs-lisp
-(use-package sendmail
+(use-feature sendmail
   :config
   (setq sendmail-program "/usr/bin/msmtp"
         ;; message-sendmail-extra-arguments '("-v" "-d")
@@ -2207,7 +2246,7 @@ Also see [[https://www.emacswiki.org/emacs/rebox2][rebox2]].
 ** 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
@@ -2252,7 +2291,7 @@ Also see [[https://www.emacswiki.org/emacs/rebox2][rebox2]].
 Convenient footnotes in =message-mode=.
 
 #+begin_src emacs-lisp
-(use-package footnote
+(use-feature footnote
   :after message
   :bind
   (:map message-mode-map
@@ -2282,7 +2321,7 @@ Convenient footnotes in =message-mode=.
   (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
@@ -2299,7 +2338,7 @@ Convenient footnotes in =message-mode=.
                     (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
@@ -2310,7 +2349,7 @@ Convenient footnotes in =message-mode=.
                            (article 1.0)
                            (ebdb-gnus 0.3))))))
 
-(use-package ebdb-mua
+(use-feature ebdb-mua
   :after ebdb
   ;; :custom (ebdb-mua-pop-up nil)
   )