diff --git a/init.el b/init.el index aa1a7ec..d49b163 100644 --- a/init.el +++ b/init.el @@ -29,12 +29,12 @@ ;;; Install Elpaca -(defvar elpaca-installer-version 0.8) +(defvar elpaca-installer-version 0.9) (defvar elpaca-directory (expand-file-name "elpaca/" user-emacs-directory)) (defvar elpaca-builds-directory (expand-file-name "builds/" elpaca-directory)) (defvar elpaca-repos-directory (expand-file-name "repos/" elpaca-directory)) (defvar elpaca-order '(elpaca :repo "https://github.com/progfolio/elpaca.git" - :ref nil :depth 1 + :ref nil :depth 1 :inherit ignore :files (:defaults "elpaca-test.el" (:exclude "extensions")) :build (:not elpaca--activate-package))) (let* ((repo (expand-file-name "elpaca/" elpaca-repos-directory)) @@ -68,10 +68,10 @@ (add-hook 'after-init-hook #'elpaca-process-queues) (elpaca `(,@elpaca-order)) -;; Install use-package support for Elpaca -(elpaca elpaca-use-package - ;; Enable use-package :ensure support for Elpaca. - (elpaca-use-package-mode)) + ;; Install use-package support for Elpaca + (elpaca elpaca-use-package + ;; Enable use-package :ensure support for Elpaca. + (elpaca-use-package-mode)) (defmacro prot-emacs-comment (&rest body) "Determine what to do with BODY. diff --git a/nebkor-emacs.org b/nebkor-emacs.org index 6b3eb42..2226eee 100644 --- a/nebkor-emacs.org +++ b/nebkor-emacs.org @@ -156,6 +156,7 @@ - [[#the-nebkor-langsel-section-for-python][The =nebkor-langs.el= section for Python]] - [[#the-nebkor-langsel-section-for-ziglang-zig-mode][The =nebkor-langs.el= section for Ziglang (~zig-mode~)]] - [[#the-nebkor-langsel-section-for-clojure-programming][The =nebkor-langs.el= section for Clojure programming]] + - [[#the-nebkor-langsel-section-for-scheme][The =nebkor-langs.el= section for Scheme]] - [[#the-nebkor-langsel-section-for-emacs-lisp][The =nebkor-langs.el= section for Emacs Lisp]] - [[#finally-we-provide-the-nebkor-langsel-module][Finally, we provide the =nebkor-langs.el= module]] - [[#the-nebkor-studyel-module][The =nebkor-study.el= module]] @@ -497,13 +498,12 @@ When using ~elpaca~, here are some gotchas you should be aware of #+begin_src emacs-lisp :tangle "init.el" ;;; Install Elpaca - - (defvar elpaca-installer-version 0.8) + (defvar elpaca-installer-version 0.9) (defvar elpaca-directory (expand-file-name "elpaca/" user-emacs-directory)) (defvar elpaca-builds-directory (expand-file-name "builds/" elpaca-directory)) (defvar elpaca-repos-directory (expand-file-name "repos/" elpaca-directory)) (defvar elpaca-order '(elpaca :repo "https://github.com/progfolio/elpaca.git" - :ref nil :depth 1 + :ref nil :depth 1 :inherit ignore :files (:defaults "elpaca-test.el" (:exclude "extensions")) :build (:not elpaca--activate-package))) (let* ((repo (expand-file-name "elpaca/" elpaca-repos-directory)) @@ -857,120 +857,43 @@ Another section defines some complementary functionality ;;;; Fontaine (font configurations) ;; Read the manual: <https://protesilaos.com/emacs/fontaine> (use-package fontaine - :ensure t - :if (display-graphic-p) - :hook - ;; Persist the latest font preset when closing/starting Emacs and - ;; while switching between themes. - ((elpaca-after-init . fontaine-mode) - (elpaca-after-init . (lambda () - ;; Set last preset or fall back to desired style from `fontaine-presets'. - (fontaine-set-preset (or (fontaine-restore-latest-preset) 'regular)))) - (enable-theme-functions . fontaine-apply-current-preset)) - :config - ;; This is defined in Emacs C code: it belongs to font settings. - (setq x-underline-at-descent-line nil) + :ensure t + :if (display-graphic-p) + :config + ;; This is defined in Emacs C code: it belongs to font settings. + (setq x-underline-at-descent-line nil) - ;; This is the default value. Just including it here for - ;; completeness. - (setq fontaine-latest-state-file (locate-user-emacs-file "fontaine-latest-state.eld")) + ;; This is the default value. Just including it here for + ;; completeness. + (setq fontaine-latest-state-file (locate-user-emacs-file "fontaine-latest-state.eld")) - (setq fontaine-presets - '((small - :default-family "Noto Sans Mono" - :default-height 130) - (regular - :default-height 150) - (medium - :default-weight semilight - :default-height 170 - :bold-weight extrabold) - (large - :inherit medium - :default-height 190) - (presentation - :inherit medium - :default-height 250) - (jumbo - :inherit medium - :default-height 330) - (t - ;; I keep all properties for didactic purposes, but most can be - ;; omitted. See the fontaine manual for the technicalities: - ;; <https://protesilaos.com/emacs/fontaine>. - :default-family "Noto Sans Mono" - :default-weight regular - :default-slant normal - :default-width normal - :default-height 150 - - :fixed-pitch-family nil ; falls back to :default-family - :fixed-pitch-weight nil ; falls back to :default-weight - :fixed-pitch-slant nil - :fixed-pitch-width nil - :fixed-pitch-height 1.0 - - :fixed-pitch-serif-family nil - :fixed-pitch-serif-weight nil - :fixed-pitch-serif-slant nil - :fixed-pitch-serif-width nil - :fixed-pitch-serif-height 1.0 - - :variable-pitch-family "Iosevka" - :variable-pitch-weight nil - :variable-pitch-slant nil - :variable-pitch-width nil - :variable-pitch-height 1.0 - - :mode-line-active-family nil - :mode-line-active-weight nil - :mode-line-active-slant nil - :mode-line-active-width nil - :mode-line-active-height 1.0 - - :mode-line-inactive-family nil - :mode-line-inactive-weight nil - :mode-line-inactive-slant nil - :mode-line-inactive-width nil - :mode-line-inactive-height 1.0 - - :header-line-family nil - :header-line-weight nil - :header-line-slant nil - :header-line-width nil - :header-line-height 1.0 - - :line-number-family nil - :line-number-weight nil - :line-number-slant nil - :line-number-width nil - :line-number-height 1.0 - - :tab-bar-family nil - :tab-bar-weight nil - :tab-bar-slant nil - :tab-bar-width nil - :tab-bar-height 1.0 - - :tab-line-family nil - :tab-line-weight nil - :tab-line-slant nil - :tab-line-width nil - :tab-line-height 1.0 - - :bold-family nil - :bold-slant nil - :bold-weight bold - :bold-width nil - :bold-height 1.0 - - :italic-family nil - :italic-weight nil - :italic-slant italic - :italic-width nil - :italic-height 1.0 - - :line-spacing nil)))) + (setq fontaine-presets + '((small + :default-height 120) + (regular + :default-height 130) + (medium + :default-weight semilight + :default-height 170 + :bold-weight extrabold) + (large + :inherit medium + :default-height 190) + (presentation + :inherit medium + :default-height 250) + (jumbo + :inherit medium + :default-height 330) + (t + ;; See the fontaine manual for the technicalities: + ;; <https://protesilaos.com/emacs/fontaine>. + :default-family "Noto Sans Mono" + :default-weight normal + :variable-pitch-family "Iosevka" + :variable-pitch-height 1.05))) + (fontaine-set-preset (or (fontaine-restore-latest-preset) 'small)) + (fontaine-mode 1)) #+end_src ** The =nebkor-theme.el= section for font previews (~show-font~) @@ -5292,6 +5215,24 @@ for this to continue. (user-error "Could not find jet installed"))))) #+end_src + + +** The =nebkor-langs.el= section for Scheme +:PROPERTIES: +:ID: 628dfbea-4ee9-4af0-b1f1-d445afa2d4f9 +:END: + +#+begin_src emacs-lisp :tangle "nebkor-modules/nebkor-langs.el" + (use-package geiser-guile + :ensure t) + + (use-package macrostep-geiser + :ensure t + :after geiser-repl + :config (add-hook 'geiser-repl-mode-hook #'macrostep-geiser-setup)) +#+end_src + + ** The =nebkor-langs.el= section for Emacs Lisp :PROPERTIES: :CUSTOM_ID: h:54D8C607-5CF6-425A-BFBD-0602334BE199 diff --git a/nebkor-modules/nebkor-langs.el b/nebkor-modules/nebkor-langs.el index c662c57..6b889fb 100644 --- a/nebkor-modules/nebkor-langs.el +++ b/nebkor-modules/nebkor-langs.el @@ -355,6 +355,14 @@ NS is the namespace information passed into the function by cider." (goto-char p)) (user-error "Could not find jet installed"))))) +(use-package geiser-guile + :ensure t) + +(use-package macrostep-geiser + :ensure t + :after geiser-repl + :config (add-hook 'geiser-repl-mode-hook #'macrostep-geiser-setup)) + ;;; Settings for Interaction mode for Emacs-Lisp (use-package ielm :ensure nil diff --git a/nebkor-modules/nebkor-theme.el b/nebkor-modules/nebkor-theme.el index e301e93..d80c45f 100644 --- a/nebkor-modules/nebkor-theme.el +++ b/nebkor-modules/nebkor-theme.el @@ -81,120 +81,43 @@ ;;;; Fontaine (font configurations) ;; Read the manual: <https://protesilaos.com/emacs/fontaine> (use-package fontaine - :ensure t - :if (display-graphic-p) - :hook - ;; Persist the latest font preset when closing/starting Emacs and - ;; while switching between themes. - ((elpaca-after-init . fontaine-mode) - (elpaca-after-init . (lambda () - ;; Set last preset or fall back to desired style from `fontaine-presets'. - (fontaine-set-preset (or (fontaine-restore-latest-preset) 'regular)))) - (enable-theme-functions . fontaine-apply-current-preset)) - :config - ;; This is defined in Emacs C code: it belongs to font settings. - (setq x-underline-at-descent-line nil) +:ensure t +:if (display-graphic-p) +:config +;; This is defined in Emacs C code: it belongs to font settings. +(setq x-underline-at-descent-line nil) - ;; This is the default value. Just including it here for - ;; completeness. - (setq fontaine-latest-state-file (locate-user-emacs-file "fontaine-latest-state.eld")) +;; This is the default value. Just including it here for +;; completeness. +(setq fontaine-latest-state-file (locate-user-emacs-file "fontaine-latest-state.eld")) - (setq fontaine-presets - '((small - :default-family "Noto Sans Mono" - :default-height 130) - (regular - :default-height 150) - (medium - :default-weight semilight - :default-height 170 - :bold-weight extrabold) - (large - :inherit medium - :default-height 190) - (presentation - :inherit medium - :default-height 250) - (jumbo - :inherit medium - :default-height 330) - (t - ;; I keep all properties for didactic purposes, but most can be - ;; omitted. See the fontaine manual for the technicalities: - ;; <https://protesilaos.com/emacs/fontaine>. - :default-family "Noto Sans Mono" - :default-weight regular - :default-slant normal - :default-width normal - :default-height 150 - - :fixed-pitch-family nil ; falls back to :default-family - :fixed-pitch-weight nil ; falls back to :default-weight - :fixed-pitch-slant nil - :fixed-pitch-width nil - :fixed-pitch-height 1.0 - - :fixed-pitch-serif-family nil - :fixed-pitch-serif-weight nil - :fixed-pitch-serif-slant nil - :fixed-pitch-serif-width nil - :fixed-pitch-serif-height 1.0 - - :variable-pitch-family "Iosevka" - :variable-pitch-weight nil - :variable-pitch-slant nil - :variable-pitch-width nil - :variable-pitch-height 1.0 - - :mode-line-active-family nil - :mode-line-active-weight nil - :mode-line-active-slant nil - :mode-line-active-width nil - :mode-line-active-height 1.0 - - :mode-line-inactive-family nil - :mode-line-inactive-weight nil - :mode-line-inactive-slant nil - :mode-line-inactive-width nil - :mode-line-inactive-height 1.0 - - :header-line-family nil - :header-line-weight nil - :header-line-slant nil - :header-line-width nil - :header-line-height 1.0 - - :line-number-family nil - :line-number-weight nil - :line-number-slant nil - :line-number-width nil - :line-number-height 1.0 - - :tab-bar-family nil - :tab-bar-weight nil - :tab-bar-slant nil - :tab-bar-width nil - :tab-bar-height 1.0 - - :tab-line-family nil - :tab-line-weight nil - :tab-line-slant nil - :tab-line-width nil - :tab-line-height 1.0 - - :bold-family nil - :bold-slant nil - :bold-weight bold - :bold-width nil - :bold-height 1.0 - - :italic-family nil - :italic-weight nil - :italic-slant italic - :italic-width nil - :italic-height 1.0 - - :line-spacing nil)))) +(setq fontaine-presets + '((small + :default-height 120) + (regular + :default-height 130) + (medium + :default-weight semilight + :default-height 170 + :bold-weight extrabold) + (large + :inherit medium + :default-height 190) + (presentation + :inherit medium + :default-height 250) + (jumbo + :inherit medium + :default-height 330) + (t + ;; See the fontaine manual for the technicalities: + ;; <https://protesilaos.com/emacs/fontaine>. + :default-family "Noto Sans Mono" + :default-weight normal + :variable-pitch-family "Iosevka" + :variable-pitch-height 1.05))) +(fontaine-set-preset (or (fontaine-restore-latest-preset) 'small)) +(fontaine-mode 1)) ;;;; Show Font (preview fonts) ;; Read the manual: <https://protesilaos.com/emacs/show-font>