diff --git a/unravel-emacs.org b/unravel-emacs.org
index 547f004..61cf276 100644
--- a/unravel-emacs.org
+++ b/unravel-emacs.org
@@ -940,6 +940,7 @@ in the function ~prot/enable-variable-pitch~.
 #+begin_src emacs-lisp :tangle "unravel-modules/unravel-essentials.el"
   (use-package exec-path-from-shell
     :ensure t
+    :demand t
     :config
     (exec-path-from-shell-initialize))
 #+end_src
@@ -2455,6 +2456,8 @@ for the ~ls~ manpage to learn about what I have here. In short:
     :ensure nil
     :commands (dired)
     :config
+    (setq insert-directory-program
+          (or (executable-find "gls") "/opt/homebrew/bin/gls"))
     (setq dired-listing-switches
           "-AGFhlv --group-directories-first --time-style=long-iso"))
 #+end_src
diff --git a/unravel-modules/unravel-dired.el b/unravel-modules/unravel-dired.el
index 2cd18f6..9451fe4 100644
--- a/unravel-modules/unravel-dired.el
+++ b/unravel-modules/unravel-dired.el
@@ -11,6 +11,8 @@
   :ensure nil
   :commands (dired)
   :config
+  (setq insert-directory-program
+        (or (executable-find "gls") "/opt/homebrew/bin/gls"))
   (setq dired-listing-switches
         "-AGFhlv --group-directories-first --time-style=long-iso"))
 
diff --git a/unravel-modules/unravel-essentials.el b/unravel-modules/unravel-essentials.el
index 074efe5..c8dc6de 100644
--- a/unravel-modules/unravel-essentials.el
+++ b/unravel-modules/unravel-essentials.el
@@ -19,6 +19,7 @@
 
 (use-package exec-path-from-shell
   :ensure t
+  :demand t
   :config
   (exec-path-from-shell-initialize))