Compare commits

...

2 commits

2 changed files with 43 additions and 6 deletions

View file

@ -1,6 +1,13 @@
;;; Bootstrap elpaca
(setq package-enable-at-startup nil)
;; for guix emacs-next packages you can find the date with
;; ➜ stat /gnu/store/*emacs-next-[23]*.drv | rg Birth | cut -d' ' -f3 | tr -d '-'
;; 20240727
;;
;; it is possible there are more so probably the most recent one is the one to use.
(setq elpaca-core-date "20240727")
(defvar elpaca-installer-version 0.7)
(defvar elpaca-directory (expand-file-name "elpaca/" user-emacs-directory))
(defvar elpaca-builds-directory (expand-file-name "builds/" elpaca-directory))

View file

@ -11,6 +11,23 @@
- Reduce dependencies : read evaluate the value a package brings
before including it
- Refactor existing configuration
** Notes on Elpaca and dev versions of emacs.
Elpaca needs the build date of emacs to compare to package versions or
something. However it does not support all dev versions.
For guix emacs-next packages you can find the date with: ( <C-c C-c>
in the source block below:
#+BEGIN_SRC shell
stat /gnu/store/*emacs-next-[23]*.drv | rg Birth | cut -d' ' -f3 | tr -d '-'
#+END_SRC
#+RESULTS:
| 20240727 |
| 20240727 |
It is possible there are more so probably the most recent one is the one to use.
* First Things First
@ -1294,7 +1311,7 @@ see also [[https://www.masteringemacs.org/article/how-to-get-started-tree-sitter
;; Lisp support
(use-package paredit
:ensure nil
:commands (enable-paredit-mode evil-paredit-mode)
:commands (enable-paredit-mode)
:init
(dolist (mode '(emacs-lisp-mode-hook
lisp-interaction-mode-hook
@ -1314,12 +1331,28 @@ see also [[https://www.masteringemacs.org/article/how-to-get-started-tree-sitter
#+END_SRC
#+RESULTS:
****** TODO FIx paredit bug related to obsolete macro
evil-paredit relies on an obsolete (and no longer available method)
`evil-called-interactively-p`. So I define it here till evil-paredit
has implemented the new method.
#+BEGIN_SRC emacs-lisp
(defmacro evil-called-interactively-p ()
"Wrapper for `called-interactively-p'.
In older versions of Emacs, `called-interactively-p' takes
no arguments. In Emacs 23.2 and newer, it takes one argument."
(called-interactively-p 'any))
(make-obsolete 'evil-called-interactively-p
"please use (called-interactively-p 'any) instead."
"Git commit 222b791")
#+END_SRC
***** Enable Geiser Mode in Scheme Mode
Configure Geiser and Scheme
- map .scm file by default to Guile
- configure chicken scheme interpreter and compiler
#+BEGIN_SRC emacs-lisp
(use-package geiser
@ -1327,10 +1360,6 @@ Configure Geiser and Scheme
:defer t
:commands (geiser-mode)
:config
;; chicken-install -s srfi-18 apropos chicken-doc
(setq-default geiser-chicken-binary "csi")
(setq-default flycheck-scheme-chicken-executable "csc")
;; configure geiser to assume guile for .scm files
(setq geiser-implementation-alist
,(add-to-list 'geiser-implementation-alist '((regexp "\\.scm\\'") guile))))
(use-package scheme-mode
@ -1341,6 +1370,7 @@ Configure Geiser and Scheme
#+END_SRC
#+RESULTS:
| evil-paredit-mode | geiser-mode | enable-paredit-mode | aggressive-indent-mode | geiser-mode--maybe-activate |
**** Terraform Support
#+BEGIN_SRC emacs-lisp