From 6193ec3386420babadea4529c0b2a6f94ee0f2a4 Mon Sep 17 00:00:00 2001
From: Vedang Manerikar <ved.manerikar@gmail.com>
Date: Mon, 18 Nov 2024 22:11:51 +0530
Subject: [PATCH] Create unravel-shell.el for vterm related settings

---
 init.el                          |  1 +
 unravel-emacs.org                | 32 ++++++++++++++++++++++++++++++++
 unravel-modules/unravel-shell.el |  9 +++++++++
 3 files changed, 42 insertions(+)
 create mode 100644 unravel-modules/unravel-shell.el

diff --git a/init.el b/init.el
index 092bf34..dbf04d5 100644
--- a/init.el
+++ b/init.el
@@ -92,4 +92,5 @@ making an abbreviation to a function."
 (require 'unravel-window)
 (require 'unravel-git)
 (require 'unravel-org)
+(require 'unravel-shell)
 (require 'unravel-langs)
diff --git a/unravel-emacs.org b/unravel-emacs.org
index e344822..a07e665 100644
--- a/unravel-emacs.org
+++ b/unravel-emacs.org
@@ -387,6 +387,7 @@ Now we are ready to load our per-module configuration files:
   (require 'unravel-window)
   (require 'unravel-git)
   (require 'unravel-org)
+  (require 'unravel-shell)
   (require 'unravel-langs)
 #+end_src
 
@@ -4044,6 +4045,37 @@ title of the task, and the like. The documentation string of
 (provide 'unravel-org)
 #+end_src
 
+* The =unravel-shell.el= module
+:PROPERTIES:
+:CUSTOM_ID: h:1E30455D-BB40-44E7-9FB1-92529FE03BDE
+:END:
+
+I use ~vterm~ for my shell inside Emacs, and at the moment, this section is about ~vterm~ configuration only.
+
+** The =unravel-shell.el= section for ~vterm~
+:PROPERTIES:
+:CUSTOM_ID: h:2945DD5C-6AF1-4323-A287-A4F5C109471C
+:END:
+
+#+begin_src emacs-lisp :tangle "unravel-modules/unravel-shell.el" :mkdirp yes
+  ;;;; Vterm
+  (use-package vterm
+    :ensure t
+    :bind
+    ("C-x m" . vterm)
+    :config
+    (setq vterm-shell (or (executable-find "fish") "/opt/homebrew/bin/fish")))
+#+end_src
+
+** Finally, we provide the =unravel-shell.el= module
+:PROPERTIES:
+:CUSTOM_ID: h:83F2ADFB-D72B-4F8C-8B01-BA1A9CA4939C
+:END:
+
+#+begin_src emacs-lisp :tangle "unravel-modules/unravel-shell.el"
+(provide 'unravel-shell)
+#+end_src
+
 * The =unravel-langs.el= module
 :PROPERTIES:
 :CUSTOM_ID: h:f44afb76-a1d7-4591-934d-b698cc79a792
diff --git a/unravel-modules/unravel-shell.el b/unravel-modules/unravel-shell.el
new file mode 100644
index 0000000..3f95b67
--- /dev/null
+++ b/unravel-modules/unravel-shell.el
@@ -0,0 +1,9 @@
+;;;; Vterm
+(use-package vterm
+  :ensure t
+  :bind
+  ("C-x m" . vterm)
+  :config
+  (setq vterm-shell (or (executable-find "fish") "/opt/homebrew/bin/fish")))
+
+(provide 'unravel-shell)