From c9cd53c40891a6562395c77d860c15a03095d88d Mon Sep 17 00:00:00 2001 From: James Cherti <60946298+jamescherti@users.noreply.github.com> Date: Sat, 5 Jul 2025 14:31:28 -0400 Subject: [PATCH] Add option: minimal-emacs-dired-group-directories-first --- early-init.el | 3 +++ init.el | 18 ++++++++++-------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/early-init.el b/early-init.el index a07624b..08badb6 100644 --- a/early-init.el +++ b/early-init.el @@ -96,6 +96,9 @@ modified during setup.") (defvar minimal-emacs-user-directory user-emacs-directory "The default value of the `user-emacs-directory' variable.") +(defvar minimal-emacs-dired-group-directories-first t + "If non-nil, group directories first in Dired listings.") + ;;; Load pre-early-init.el ;; Prefer loading newer compiled files diff --git a/init.el b/init.el index ad18a40..7500c5b 100644 --- a/init.el +++ b/init.el @@ -427,14 +427,16 @@ (setq dired-omit-files (concat "\\`[.]\\'")) ;; Group directories first -(let ((args "--group-directories-first -ahlv")) - (when (or (eq system-type 'darwin) - (eq system-type 'berkeley-unix)) - (if-let* ((gls (executable-find "gls"))) - (setq insert-directory-program gls) - (setq args nil))) - (when args - (setq dired-listing-switches args))) +(when minimal-emacs-dired-group-directories-first + (with-eval-after-load 'dired + (let ((args "--group-directories-first -ahlv")) + (when (or (eq system-type 'darwin) + (eq system-type 'berkeley-unix)) + (if-let* ((gls (executable-find "gls"))) + (setq insert-directory-program gls) + (setq args nil))) + (when args + (setq dired-listing-switches args))))) (setq ls-lisp-verbosity nil) (setq ls-lisp-dirs-first t)