(setq recentf-max-saved-items 40))
#+end_src
+*** smex
+
+#+begin_quote
+A smart M-x enhancement for Emacs.
+#+end_quote
+
+Mostly because =counsel= needs it to remember history.
+
+#+begin_src emacs-lisp
+(use-package smex
+ :defer t)
+#+end_src
+
*** [[https://github.com/abo-abo/swiper][Ivy]] (and friends)
#+begin_quote
("shrink-path.el" . "9d06c453d1537df46a4b703a29213cc7f7857aa0")
("shut-up" . "081d6b01e3ba0e60326558e545c4019219e046ce")
("smart-mode-line" . "b79f4fa5f2380b0d726a895dd7199e5483004490")
+ ("smex" . "55aaebe3d793c2c990b39a302eb26c184281c42c")
("straight.el" . "13d019dfc72e69cce58b510766e197b044ea823b")
("swiper" . "201c5d78c4985fb803eb681cca0ccc5a4f90b717")
("treepy.el" . "b40e6b09eb9be45da67b8c9e4990a5a0d7a2a09d")