In short, my favourite way of life.
+ First, we have to resort to a [[https://github.com/raxod502/straight.el#installing-org-with-straightel][hack]] to be able to use the correct
+ latest version of Org from upstream.
+
#+begin_src emacs-lisp
- (use-package org
+ (use-package git)
+
+ (defun org-git-version ()
+ "The Git version of org-mode.
+ Inserted by installing org-mode or when a release is made."
+ (require 'git)
+ (let ((git-repo (expand-file-name
+ "straight/repos/org/" user-emacs-directory)))
+ (string-trim
+ (git-run "describe"
+ "--match=release\*"
+ "--abbrev=6"
+ "HEAD"))))
+
+ (defun org-release ()
+ "The release version of org-mode.
+ Inserted by installing org-mode or when a release is made."
+ (require 'git)
+ (let ((git-repo (expand-file-name
+ "straight/repos/org/" user-emacs-directory)))
+ (string-trim
+ (string-remove-prefix
+ "release_"
+ (git-run "describe"
+ "--match=release\*"
+ "--abbrev=0"
+ "HEAD")))))
+
+ (provide 'org-version)
+ #+end_src
+
+ We will use the =org-plus-contrib= package to get the whole deal:
+
+ #+begin_src emacs-lisp
+ (straight-use-package 'org-plus-contrib)
+ #+end_src
+
+ And here's where my actual Org configurations begin:
+
+ #+begin_src emacs-lisp
+ (use-feature org
- :defer 0.5
+ :defer 2
:config
(setq org-src-tab-acts-natively t
org-src-preserve-indentation nil
*** eshell
#+begin_src emacs-lisp
- (use-package eshell
+ (use-feature eshell
- :defer 1
+ :defer 2
:commands eshell
:bind ("C-c a s e" . eshell)
:config
** [[https://coq.inria.fr][Coq]] (with [[https://github.com/ProofGeneral/PG][Proof General]])
#+begin_src emacs-lisp
-(use-package proof-site
+(use-package proof-site ; Proof General
- :load-path "lib/proof-site/generic/")
+ :straight proof-general)
#+end_src
** [[https://leanprover.github.io][Lean]] (with [[https://github.com/leanprover/lean-mode][lean-mode]])
#+begin_src emacs-lisp
(use-package ebdb
+ :straight (:host github :repo "girzel/ebdb")
+ :defer 2
:after gnus
:bind (:map gnus-group-mode-map ("e" . ebdb))
:config
;; (ebdb-complete-enable))
(use-package company-ebdb
- :after (:all company message)
+ :defer 2
:config
- (defun company-ebdb--post-complete (_) nil)
- :hook
- (message-mode . (lambda ()
- (add-to-list (make-local-variable 'company-backends)
- 'company-ebdb))))
+ (defun company-ebdb--post-complete (_) nil))
- (use-package ebdb-gnus
+ (use-feature ebdb-gnus
+ :defer 3
:after ebdb
+ :demand
:custom
(ebdb-gnus-window-configuration
'(article
(article 1.0)
(ebdb-gnus 0.3))))))
- (use-package ebdb-mua
+ (use-feature ebdb-mua
+ :defer 3
:after ebdb
+ :demand
;; :custom (ebdb-mua-pop-up nil)
)