diff --git a/modules/emacs/dired/config.el b/modules/emacs/dired/config.el index d9a6aefb1..2d6c18272 100644 --- a/modules/emacs/dired/config.el +++ b/modules/emacs/dired/config.el @@ -136,8 +136,32 @@ we have to clean it up ourselves." ranger-hide-cursor nil)) +(use-package! dirvish + :when (featurep! +dirvish) + :defer t + :init (after! dired (dirvish-override-dired-mode)) + :hook (dired-mode . dired-omit-mode) + :config + (setq dirvish-cache-dir (concat doom-cache-dir "dirvish/") + dirvish-hide-details nil + dirvish-attributes '(git-msg) + dired-omit-files (concat dired-omit-files "\\|^\\..*$")) + (when (featurep! +icons) + (push 'all-the-icons dirvish-attributes)) + (map! :map dirvish-mode-map + :n "b" #'dirvish-goto-bookmark + :n "z" #'dirvish-show-history + :n "f" #'dirvish-file-info-menu + :n "F" #'dirvish-toggle-fullscreen + :n "l" #'dired-find-file + :n "h" #'dired-up-directory + :localleader + "h" #'dired-omit-mode)) + + (use-package! all-the-icons-dired :when (featurep! +icons) + :unless (featurep! +dirvish) :hook (dired-mode . all-the-icons-dired-mode) :config ;; HACK Fixes #1929: icons break file renaming in Emacs 27+, because the icon @@ -160,6 +184,7 @@ we have to clean it up ourselves." (use-package! dired-x + :unless (featurep! +dirvish) :unless (featurep! +ranger) :hook (dired-mode . dired-omit-mode) :config diff --git a/modules/emacs/dired/packages.el b/modules/emacs/dired/packages.el index 13077b29b..96dc117e6 100644 --- a/modules/emacs/dired/packages.el +++ b/modules/emacs/dired/packages.el @@ -7,6 +7,9 @@ (package! dired-rsync :pin "7940d9154d0a908693999b0e1ea351a6d365c93d") (when (featurep! +ranger) (package! ranger :pin "2498519cb21dcd5791d240607a72a204d1761668")) -(when (featurep! +icons) +(when (featurep! +dirvish) + (package! dirvish :pin "73dcaa404da9ab84d25f2919e6e3af4b1f8e7f37")) +(when (and (featurep! +icons) + (not (featurep! +dirvish))) (package! all-the-icons-dired :pin "5e9b097f9950cc9f86de922b07903a4e5fefc733")) (package! fd-dired :pin "458464771bb220b6eb87ccfd4c985c436e57dc7e")