From 42afc8b73f116a686824cfdf54ef0115b000263c Mon Sep 17 00:00:00 2001
From: Vedang Manerikar <ved.manerikar@gmail.com>
Date: Thu, 12 Dec 2024 14:33:17 +0530
Subject: [PATCH] Add a short note to the elpaca section

---
 unravel-emacs.org                | 71 +++++++++++++-------------------
 unravel-modules/unravel-langs.el |  6 +--
 2 files changed, 31 insertions(+), 46 deletions(-)

diff --git a/unravel-emacs.org b/unravel-emacs.org
index ff4d3ef..1b950ce 100644
--- a/unravel-emacs.org
+++ b/unravel-emacs.org
@@ -43,25 +43,6 @@ be updated accordingly.
 
 #+toc: headlines 2
 
-Here is what the generated directory structure should look like:
-
-#+begin_src sh :dir ~/src/prototypes/emacs-up :results raw
-  fd -e el -e org -E elpa | tree --fromfile
-#+end_src
-
-#+RESULTS:
-.
-├── early-init.el
-├── init.el
-├── unravel-emacs.org
-└── unravel-modules
-    ├── unravel-completion.el
-    ├── unravel-essentials.el
-    ├── unravel-langs.el
-    └── unravel-theme.el
-
-2 directories, 7 files
-
 To make a change to this Emacs configuration, edit this file and then type =C-c C-v C-t= (=M-x org-babel-tangle=) to republish all the relevant files.
 
 * The =early-init.el= file
@@ -307,6 +288,10 @@ package archives, pinning packages, and setting priorities:
 :CREATED:  [2024-12-10 Tue 14:43]
 :END:
 
+I use ~elpaca~ for package management, and ~use-package~ for configuration management. This means that ~elpaca~ replaces the built-in ~package.el~ functionality.
+
+I do it this way because it simplifies my developement workflow for the emacs-lisp packages I want to contribute to. The built-in ~package.el~ is just fine, and if you prefer that, you should just COMMENT this section, uncomment [[#h:424340cc-f3d7-4083-93c9-d852d40dfd40][The =init.el= settings for packages (=package.el=)]] and re-export all the code-blocks.
+
 #+begin_src emacs-lisp :tangle "init.el"
   ;;; Install Elpaca
 
@@ -4204,17 +4189,17 @@ something like the following:
 #+end_quote
 
 #+begin_src emacs-lisp :tangle "unravel-modules/unravel-org.el"
-;;;; code blocks
-(use-package org
-  :ensure nil
-  :config
-  (setq org-confirm-babel-evaluate nil)
-  (setq org-src-window-setup 'current-window)
-  (setq org-edit-src-persistent-message nil)
-  (setq org-src-fontify-natively t)
-  (setq org-src-preserve-indentation nil)
-  (setq org-src-tab-acts-natively t)
-  (setq org-edit-src-content-indentation 2))
+  ;;;; code blocks
+  (use-package org
+    :ensure nil
+    :config
+    (setq org-confirm-babel-evaluate nil)
+    (setq org-src-window-setup 'current-window)
+    (setq org-edit-src-persistent-message nil)
+    (setq org-src-fontify-natively t)
+    (setq org-src-preserve-indentation nil)
+    (setq org-src-tab-acts-natively t)
+    (setq org-edit-src-content-indentation 2))
 #+end_src
 
 ** The =unravel-org.el= Org export settings
@@ -4771,8 +4756,8 @@ Note that demanding ~eglot~ is not a mistake. I want it loaded so that I can adv
   ;;;; Eglot (built-in client for the language server protocol)
   (use-package eglot
     :ensure nil
-    :demand t ; Not a mistake, we need to load Eglot elisp code before
-              ; we open any Python file.
+    :demand t ;; Not a mistake, we need to load Eglot elisp code before
+              ;; we open any Python file.
     :functions (eglot-ensure)
     :commands (eglot)
     :bind
@@ -5426,17 +5411,17 @@ Clojure is my favorite programming language, and it has been my bread and butter
     :ensure t
     :config
     (defun json->edn ()
-    "Convert the selected region, or entire file, from JSON to EDN."
-    (interactive)
-    (let ((b (if mark-active (region-beginning) (point-min)))
-          (e (if mark-active (region-end) (point-max)))
-          (jet (when (executable-find "jet")
-                 "jet --pretty --keywordize keyword --from json --to edn")))
-      (if jet
-          (let ((p (point)))
-            (shell-command-on-region b e jet (current-buffer) t)
-            (goto-char p))
-        (user-error "Could not find jet installed")))))
+      "Convert the selected region, or entire file, from JSON to EDN."
+      (interactive)
+      (let ((b (if mark-active (region-beginning) (point-min)))
+            (e (if mark-active (region-end) (point-max)))
+            (jet (when (executable-find "jet")
+                   "jet --pretty --keywordize keyword --from json --to edn")))
+        (if jet
+            (let ((p (point)))
+              (shell-command-on-region b e jet (current-buffer) t)
+              (goto-char p))
+          (user-error "Could not find jet installed")))))
 #+end_src
 
 ** The =unravel-langs.el= section for Emacs Lisp
diff --git a/unravel-modules/unravel-langs.el b/unravel-modules/unravel-langs.el
index 25b9abf..631640e 100644
--- a/unravel-modules/unravel-langs.el
+++ b/unravel-modules/unravel-langs.el
@@ -28,8 +28,8 @@
 ;;;; Eglot (built-in client for the language server protocol)
 (use-package eglot
   :ensure nil
-  :demand t ; Not a mistake, we need to load Eglot elisp code before
-                                        ; we open any Python file.
+  :demand t ;; Not a mistake, we need to load Eglot elisp code before
+            ;; we open any Python file.
   :functions (eglot-ensure)
   :commands (eglot)
   :bind
@@ -375,7 +375,7 @@ modifications."
   :ensure nil
 ;;; Uncomment this if you want Eglot to start automatically. I prefer
 ;;; calling `M-x eglot' myself.
-  ;;  :hook ((python-base-mode . eglot-ensure))
+;;  :hook ((python-base-mode . eglot-ensure))
   :config
   (setq python-shell-dedicated 'project)
   ;; Apheleia is an Emacs package for formatting code as you save