From 7faa3b099a8dfc99beda888f8c383a9d49c07b0e Mon Sep 17 00:00:00 2001 From: Gergely Polonkai Date: Mon, 16 Oct 2023 11:21:27 +0200 Subject: [PATCH] Move usability packages to their own section --- configuration.org | 951 +++++++++++++++++++++++----------------------- 1 file changed, 478 insertions(+), 473 deletions(-) diff --git a/configuration.org b/configuration.org index b1ba908..81c73ff 100644 --- a/configuration.org +++ b/configuration.org @@ -1308,6 +1308,484 @@ This is a Termux-specific override. (push (org-projectile-project-todo-entry) org-capture-templates)) #+end_src +* External packages to boost usability + +** ~gnu-elpa-keyring-update~, to make sure we always have the latest ELPA GPG keys + +#+begin_src emacs-lisp +(use-package gnu-elpa-keyring-update) +#+end_src + +** ~auto-package-update~, to automatically upgrade packages every week + +#+begin_src emacs-lisp +(use-package auto-package-update + :custom + (auto-package-update-interval 7) + (auto-package-update-delete-old-versions t) + ;; Let’s do this in after-init-hook, as use-package invocations may modify + ;; the list of installed packages + :hook + (after-init . auto-package-update-maybe)) +#+end_src + +** ~ace-window~, for better window navigation + +Besides its standard functionality i also add key bindings for burying or scrolling other windows. + +#+begin_src emacs-lisp +(use-package ace-window + :custom + (aw-background nil) + (aw-dispatch-always t) + :config + (add-to-list 'aw-dispatch-alist + '(?s gpolonkai/scroll-window-up " Scroll window up") + t) + (add-to-list 'aw-dispatch-alist + '(?S gpolonkai/scroll-window-down " Scroll window down") + t) + (add-to-list 'aw-dispatch-alist + '(?q gpolonkai/bury-window " Bury (quit) window") + t) + :bind + (:map ctl-x-map + ("o" . ace-window)) + :custom-face + (aw-leading-char-face ((t (:inherit ace-jump-face-foreground :height 2.0))))) +#+end_src + +** ~doom-themes~ + +#+begin_src emacs-lisp +(use-package doom-themes + :custom + (doom-themes-enable-bold t) + (doom-themes-enable-italic t) + :config + (load-theme 'doom-nord-aurora t) + (doom-themes-visual-bell-config) + (doom-themes-org-config)) +#+end_src + +** Nyanyanyanyanya + +*** ~nyan-mode~: Nyan-cat style position marker + +The package that [[https://gergely.polonkai.eu/blog/2014/9/17/nyanmacs.html][made me]] switch to Emacs. + +#+begin_src emacs-lisp +(use-package nyan-mode + :config + (nyan-mode t) + :custom + (nyan-bar-length 20) + (nyan-animate-nyancat t) + (nyan-wavy-trail t)) +#+end_src + +** ~delight~ to de-light some minor modes + +The list of active minor modes can easily fill my whole mode line (twice…). This is one of the things to protect me from that. + +#+begin_src emacs-lisp +(use-package delight) +#+end_src + +** ~minions~, to put all minor modes into a menu + +#+begin_src emacs-lisp +(use-package minions + :config + (minions-mode 1)) +#+end_src + +** ~doom-modeline~, because it’s much, much more beautiful than the vanilla one + +#+begin_src emacs-lisp +(use-package doom-modeline + :init + (doom-modeline-mode 1) + :custom + (doom-modeline-continuous-word-count-modes '(markdown-mode gfm-mode org-mode rst-mode)) + (doom-modeline-hud t) + (doom-modeline-minor-modes t)) +#+end_src + +** ~beacon~ to find the cursor + +Sometimes it disappears, or just too hard to see. + +#+begin_src emacs-lisp +(use-package beacon + :demand + :config + (beacon-mode 1) + :bind + (:map gpolonkai/pers-map + ("b" . beacon-blink))) +#+end_src + +** ~eshell~ extras + +*** Display the status of the last command in the fringe of EShell + +#+begin_src emacs-lisp +(use-package eshell-fringe-status + :hook + (eshell-mode . eshell-fringe-status-mode)) +#+end_src + +*** Extras for the EShell prompt + +#+begin_src emacs-lisp +(use-package eshell-prompt-extras + :config + (with-eval-after-load "esh-opt" + (autoload 'epe-theme-lambda "eshell-prompt-extras")) + :custom + (eshell-highlight-prompt nil) + (eshell-prompt-function 'epe-theme-lambda)) +#+end_src + +** ~form-feed~, to show form feed characters as a horizontal line + +Some (many? most?) Emacs packages use this to do some logical separation of the code. It is also used by some compilers, and Emacs’ help system. + +#+begin_src emacs-lisp +(use-package form-feed + :hook + (emacs-lisp-mode . form-feed-mode) + (compilation-mode . form-feed-mode) + (help-mode . form-feed-mode)) +#+end_src + +** ~hl-line~, to highlight the current line + +#+begin_src emacs-lisp +(use-package hl-line + :config + (when window-system + (global-hl-line-mode)) + :custom-face + (hl-line ((t (:inherit nil :background "gray25"))))) +#+end_src + +** ~ace-jump-mode~, to jump to a specific character + +#+begin_src emacs-lisp +(use-package ace-jump-mode + :bind + (:map gpolonkai/pers-map + ("SPC" . ace-jump-mode))) +#+end_src + +** Multiple cursors, because one is often not enough + +*** ~multiple-cursors~ + +#+begin_src emacs-lisp +(defun gpolonkai/no-blink-matching-paren () + (customize-set-variable 'blink-matching-paren nil)) + +(defun gpolonkai/blink-matching-paren () + (customize-set-variable 'blink-matching-paren t)) + +(use-package multiple-cursors + :init + (defvar gpolonkai/mc-prefix-map (make-sparse-keymap) + "Prefix keymap for multiple-cursors") + (define-prefix-command 'gpolonkai/mc-prefix-map) + (define-key global-map (kbd "C-c m") 'gpolonkai/mc-prefix-map) + :hook + (multiple-cursors-mode-enabled . gpolonkai/no-blink-matching-paren) + (multiple-cursors-mode-disabled . gpolonkai/blink-matching-paren) + :bind + (:map gpolonkai/mc-prefix-map + ("t" . mc/mark-all-like-this) + ("m" . mc/mark-all-like-this-dwim) + ("l" . mc/edit-lines) + ("e" . mc/edit-ends-of-lines) + ("a" . mc/edit-beginnings-of-lines) + ("n" . mc/mark-next-like-this) + ("p" . mc/mark-previous-like-this) + ("s" . mc/mark-sgml-tag-pair) + ("d" . mc/mark-all-like-this-in-defun) + ("M-" . mc/add-cursor-on-click))) +#+end_src + +*** ~phi-search~, incremental search compatible with ~multiple-cursors~ + +#+begin_src emacs-lisp +(use-package phi-search) + +(use-package phi-search-mc + :config + (phi-search-mc/setup-keys)) +#+end_src + +*** ~mc-extras~ + +#+begin_src emacs-lisp +(use-package mc-extras + :demand + :bind + (:map mc/keymap + ("=" . mc/compare-chars))) +#+end_src + +*** Add extra cursors with ~ace-jump~ + +#+begin_src emacs-lisp +(use-package ace-mc + :bind + (:map gpolonkai/mc-prefix-map + ("SPC" . ace-mc-add-multiple-cursors) + ("C-SPC" . ace-mc-add-single-cursor))) +#+end_src + +** ~smartparens~ for easier parentheses insertion + +#+begin_src emacs-lisp +(use-package smartparens + :demand + :config + (require 'smartparens-config) + (show-smartparens-global-mode t) + :hook + (prog-mode . turn-on-smartparens-strict-mode) + (markdown-mode . turn-on-smartparens-strict-mode) + :bind + (([f9] . smartparens-strict-mode) + ("C-c s u" . sp-unwrap-sexp) + ("C-c s k" . sp-kill-sexp))) +#+end_src + +** ~which-key~ to display available key bindings + +#+begin_src emacs-lisp +(use-package which-key + :config + (which-key-mode) + (which-key-setup-minibuffer) + :custom + (which-key-idle-delay 0.3)) +#+end_src + +** ~visual-fill-column~, width limited text view + +It’s much easier on the eye when writing text, not code. + +#+begin_src emacs-lisp +(use-package visual-fill-column + :custom + (visual-fill-column-center-text t) + :hook + (org-mode . visual-fill-column-mode)) +#+end_src + +** ~spinner~, to display a progress bar for e.g. background tasks + +#+begin_src emacs-lisp +(use-package spinner) +#+end_src + +** ~avy~ to jump to things + +#+begin_src emacs-lisp +(use-package avy + :demand + :config + (avy-setup-default) + :bind + (("M-g c" . avy-goto-char) + ("M-g C" . avy-goto-char-2) + ("M-g f" . avy-goto-line) + ("M-g w" . avy-goto-word-1) + ("M-g e" . avy-goto-word-0))) +#+end_src + +** ~goto-last-change~ + +#+begin_src emacs-lisp +(use-package goto-last-change + :bind + (("M-g /" . goto-last-change))) +#+end_src + +** ~rainbow-mode~ to highlight colours based on their name/hex code + +#+begin_src emacs-lisp +(use-package rainbow-mode + :hook + (css-mode . rainbow-mode) + (scss-mode . rainbow-mode) + (sass-mode . rainbow-mode)) +#+end_src + +** ~zygospore~ to toggle other windows for maximum focus + +When focus is no longer needed, they can be toggled back. + +#+begin_src emacs-lisp +(use-package zygospore + :bind + (:map ctl-x-map + ("1" . zygospore-toggle-delete-other-windows))) +#+end_src + +** ~dashboard~ + +#+begin_src emacs-lisp +(use-package dashboard + :after + projectile + :config + (add-to-list 'dashboard-items '(projects . 5) t) + (dashboard-setup-startup-hook) + :custom + (dashboard-set-heading-icons t) + (dashboard-set-file-icons t) + (dashboard-center-content t) + (dashboard-set-navigator t) + (dashboard-items '((agenda . 5) + (projects . 5) + (recents . 5) + (bookmarks . 5)))) +#+end_src + +** ~sr-speedbar~, speed bar in the same frame + +#+begin_src emacs-lisp +(use-package sr-speedbar + :after speedbar) +#+end_src + +** ~hungry-delete~ to delete all the whitespace + +#+begin_src emacs-lisp +(use-package hungry-delete + :config + (global-hungry-delete-mode)) +#+end_src + +** ~anzu~, to show number of matches while searching + +#+begin_src emacs-lisp +(use-package anzu + :delight + :config + (global-anzu-mode 1)) +#+end_src + +** ~all-the-icons~ + +Should the fonts be missing, run ~(all-the-icons-install-fonts)~. It’s not run +automatically, as it requires connecting to a website and download a pretty +large font file. + +#+begin_src emacs-lisp +(use-package all-the-icons) +#+end_src + +And apply it to dired, too. + +#+begin_src emacs-lisp +(use-package all-the-icons-dired + :hook + (dired-mode . all-the-icons-dired-mode)) +#+end_src + +** ~flyspell~ for all my spell-checking needs + +#+begin_src emacs-lisp +(use-package flyspell + :hook + (prog-mode . flyspell-prog-mode) + (text-mode . flyspell-mode)) +#+end_src + +** ~ace-flyspell~ + +#+begin_src emacs-lisp +(use-package ace-flyspell + :bind + (:map flyspell-mode-map + ("C-M-i" . ace-flyspell-correct-word))) +#+end_src + +** ~objed~, text object manipulation + +From the package description: + +#+begin_quote +Text objects are textual patterns like a line, a top level definition, a word, a sentence or any +other unit of text. When objed-mode is enabled, certain editing commands (configurable) will +activate objed and enable its modal editing features. +#+end_quote + +#+begin_src emacs-lisp +(use-package objed + :demand t + :bind + (:map global-map + ("M-SPC" . objed-activate))) +#+end_src + +** ~alert~ to send alerts to a notification system + +#+begin_src emacs-lisp +(use-package alert + :config + (setq alert-default-style + (if (gpolonkai/termux-p) + (progn + ;; TODO Remove this as soon as my PR gets merged + ;; https://github.com/jwiegley/alert/pull/41 + (unless (fboundp 'alert-termux-notify) + (defcustom alert-termux-command (executable-find "termux-notification") + "Path to the termux-notification command. +This is found in the termux-api package, and it requires the Termux +API addon app to be installed." + :type 'file + :group 'alert) + + (defun alert-termux-notify (info) + "Send INFO using termux-notification. +Handles :TITLE and :MESSAGE keywords from the +INFO plist." + (if alert-termux-command + (let ((args (nconc + (when (plist-get info :title) + (list "-t" (alert-encode-string (plist-get info :title)))) + (list "-c" (alert-encode-string (plist-get info :message)))))) + (apply #'call-process alert-termux-command nil + (list (get-buffer-create " *termux-notification output*") t) + nil args)) + (alert-message-notify info))) + + (alert-define-style 'termux :title "Notify using termux" + :notifier #'alert-termux-notify)) + 'termux) + 'libnotify))) +#+end_src + +** ~undo-tree~ + +#+begin_src emacs-lisp +(use-package undo-tree) +#+end_src + +** ~ciel~ to mimic ViM’s ~ci~ functionality + +#+begin_src emacs-lisp +(use-package ciel + :bind + (:map global-map + ("C-c i" . ciel-ci) + ("C-c o" . ciel-co))) +#+end_src + * Custom commands and functions ** Frame manipulation @@ -1433,128 +1911,6 @@ Let’s see if i can get my brain more organised this way… * ~use-package~ packages -** Make sure we have the latest ELPA GPG keys - -#+BEGIN_SRC emacs-lisp -(use-package gnu-elpa-keyring-update) -#+END_SRC - -** Automatically upgrade packages every week - -#+BEGIN_SRC emacs-lisp -(use-package auto-package-update - :custom - (auto-package-update-interval 7) - (auto-package-update-delete-old-versions t) - ;; Let’s do this in after-init-hook, as use-package invocations may modify - ;; the list of installed packages - :hook - (after-init . auto-package-update-maybe)) -#+END_SRC - -** Nyanyanyanyanya - -*** Nyan-cat style position marker - -#+BEGIN_SRC emacs-lisp -(use-package nyan-mode - :config - (nyan-mode t) - :custom - (nyan-bar-length 20) - (nyan-animate-nyancat t) - (nyan-wavy-trail t)) -#+END_SRC - -** De-light some minor modes - -#+BEGIN_SRC emacs-lisp -(use-package delight) -#+END_SRC - -** Eye candy - -*** Doom mode line - -#+begin_src emacs-lisp -(use-package doom-modeline - :init - (doom-modeline-mode 1) - :custom - (doom-modeline-continuous-word-count-modes '(markdown-mode gfm-mode org-mode rst-mode)) - (doom-modeline-hud t) - (doom-modeline-minor-modes t)) -#+end_src - -*** Minions - -#+BEGIN_SRC emacs-lisp -(use-package minions - :config - (minions-mode 1)) -#+END_SRC - -*** Spinner, e.g. to display running background tasks - -#+BEGIN_SRC emacs-lisp -(use-package spinner) -#+END_SRC - -*** Beacon - -Highlight point. Sometimes it’s not easy to see. - -#+BEGIN_SRC emacs-lisp -(use-package beacon - :demand - :config - (beacon-mode 1) - :bind - (:map gpolonkai/pers-map - ("b" . beacon-blink))) -#+END_SRC - -*** Display the status of the last command in the fringe of EShell - -#+BEGIN_SRC emacs-lisp -(use-package eshell-fringe-status - :hook - (eshell-mode . eshell-fringe-status-mode)) -#+END_SRC - -*** Extras for the EShell prompt - -#+BEGIN_SRC emacs-lisp -(use-package eshell-prompt-extras - :config - (with-eval-after-load "esh-opt" - (autoload 'epe-theme-lambda "eshell-prompt-extras")) - :custom - (eshell-highlight-prompt nil) - (eshell-prompt-function 'epe-theme-lambda)) -#+END_SRC - -*** Show form feeds as a horizontal line - -#+BEGIN_SRC emacs-lisp -(use-package form-feed - :hook - (emacs-lisp-mode . form-feed-mode) - (compilation-mode . form-feed-mode) - (help-mode . form-feed-mode)) -#+END_SRC - -** Highlight the current line - -#+BEGIN_SRC emacs-lisp -(use-package hl-line - :config - (when window-system - (global-hl-line-mode)) - :custom-face - (hl-line ((t (:inherit nil :background "gray25"))))) -#+END_SRC - ** GNU Globals #+BEGIN_SRC emacs-lisp @@ -1567,70 +1923,6 @@ Highlight point. Sometimes it’s not easy to see. (c-mode-common . gpolonkai/cond-enable-ggtags-mode)) #+END_SRC -** Multiple cursors - -Because one is never enough. - -#+BEGIN_SRC emacs-lisp -(defun gpolonkai/no-blink-matching-paren () - (customize-set-variable 'blink-matching-paren nil)) - -(defun gpolonkai/blink-matching-paren () - (customize-set-variable 'blink-matching-paren t)) - -(use-package multiple-cursors - :init - (defvar gpolonkai/mc-prefix-map (make-sparse-keymap) - "Prefix keymap for multiple-cursors") - (define-prefix-command 'gpolonkai/mc-prefix-map) - (define-key global-map (kbd "C-c m") 'gpolonkai/mc-prefix-map) - :hook - (multiple-cursors-mode-enabled . gpolonkai/no-blink-matching-paren) - (multiple-cursors-mode-disabled . gpolonkai/blink-matching-paren) - :bind - (:map gpolonkai/mc-prefix-map - ("t" . mc/mark-all-like-this) - ("m" . mc/mark-all-like-this-dwim) - ("l" . mc/edit-lines) - ("e" . mc/edit-ends-of-lines) - ("a" . mc/edit-beginnings-of-lines) - ("n" . mc/mark-next-like-this) - ("p" . mc/mark-previous-like-this) - ("s" . mc/mark-sgml-tag-pair) - ("d" . mc/mark-all-like-this-in-defun) - ("M-" . mc/add-cursor-on-click))) -#+END_SRC - -*** Incremental search for multiple cursors - -#+BEGIN_SRC emacs-lisp -(use-package phi-search) - -(use-package phi-search-mc - :config - (phi-search-mc/setup-keys)) -#+END_SRC - -*** Some extras - -#+BEGIN_SRC emacs-lisp -(use-package mc-extras - :demand - :bind - (:map mc/keymap - ("C-c m =" . mc/compare-chars))) -#+END_SRC - -*** Add extra cursors via ~ace-jump~ - -#+BEGIN_SRC emacs-lisp -(use-package ace-mc - :bind - (:map gpolonkai/mc-prefix-map - ("SPC" . ace-mc-add-multiple-cursors) - ("C-SPC" . ace-mc-add-single-cursor))) -#+END_SRC - ** Magit #+BEGIN_SRC emacs-lisp @@ -1652,115 +1944,6 @@ Because one is never enough. (use-package forge) #+END_SRC -** Smart parens - -#+BEGIN_SRC emacs-lisp -(use-package smartparens - :demand - :config - (require 'smartparens-config) - (show-smartparens-global-mode t) - :hook - (prog-mode . turn-on-smartparens-strict-mode) - (markdown-mode . turn-on-smartparens-strict-mode) - :bind - (([f9] . smartparens-strict-mode) - ("C-c s u" . sp-unwrap-sexp) - ("C-c s k" . sp-kill-sexp))) -#+END_SRC - -** Text object manipulation - -From the package description: - -#+BEGIN_QUOTE -Text objects are textual patterns like a line, a top level definition, a word, a sentence or any -other unit of text. When objed-mode is enabled, certain editing commands (configurable) will -activate objed and enable its modal editing features. -#+END_QUOTE - -#+BEGIN_SRC emacs-lisp -(use-package objed - :demand t - :bind - (:map global-map - ("M-SPC" . objed-activate))) -#+END_SRC - -** Ace window - -Besides its standard functionality, I also make add key bindings for burying or scrolling another -window. - -#+BEGIN_SRC emacs-lisp -(use-package ace-window - :custom - (aw-background nil) - (aw-dispatch-always t) - :config - (add-to-list 'aw-dispatch-alist - '(?s gpolonkai/scroll-window-up " Scroll window up") - t) - (add-to-list 'aw-dispatch-alist - '(?S gpolonkai/scroll-window-down " Scroll window down") - t) - (add-to-list 'aw-dispatch-alist - '(?q gpolonkai/bury-window " Bury (quit) window") - t) - :bind - (:map ctl-x-map - ("o" . ace-window)) - :custom-face - (aw-leading-char-face ((t (:inherit ace-jump-face-foreground :height 2.0))))) -#+END_SRC - -** Avy - -#+BEGIN_SRC emacs-lisp -(use-package avy - :demand - :config - (avy-setup-default) - :bind - (("M-g c" . avy-goto-char) - ("M-g C" . avy-goto-char-2) - ("M-g f" . avy-goto-line) - ("M-g w" . avy-goto-word-1) - ("M-g e" . avy-goto-word-0))) -#+END_SRC - -** Goto last change - -#+BEGIN_SRC emacs-lisp -(use-package goto-last-change - :bind - (("M-g /" . goto-last-change))) -#+END_SRC - -** Rainbow mode - -To highlight colours based on their name or hex code. - -#+BEGIN_SRC emacs-lisp -(use-package rainbow-mode - :hook - (css-mode . rainbow-mode) - (scss-mode . rainbow-mode) - (sass-mode . rainbow-mode)) -#+END_SRC - -** Zygospore - -Toggle other windows for maximum focus. When focus is no longer needed, they can be toggled back. -~C-x 1~ is conveniently bound to it. - -#+BEGIN_SRC emacs-lisp -(use-package zygospore - :bind - (:map ctl-x-map - ("1" . zygospore-toggle-delete-other-windows))) -#+END_SRC - ** Highlight dired buffer by file size, modified time, git status #+BEGIN_SRC emacs-lisp @@ -1770,101 +1953,6 @@ Toggle other windows for maximum focus. When focus is no longer needed, they ca ("K" . dired-k))) #+END_SRC -** Show number of matches in the mode line while searching - -#+BEGIN_SRC emacs-lisp -(use-package anzu - :delight - :config - (global-anzu-mode 1)) -#+END_SRC - -** An Emacs Dashboard - -#+BEGIN_SRC emacs-lisp -(use-package dashboard - :after - projectile - :config - (add-to-list 'dashboard-items '(projects . 5) t) - (dashboard-setup-startup-hook) - :custom - (dashboard-set-heading-icons t) - (dashboard-set-file-icons t) - (dashboard-center-content t) - (dashboard-set-navigator t) - (dashboard-items '((agenda . 5) - (projects . 5) - (recents . 5) - (bookmarks . 5)))) -#+END_SRC - -** FlySpell - -For all your spell-checking needs. - -#+BEGIN_SRC emacs-lisp -(use-package flyspell - :hook - (prog-mode . flyspell-prog-mode) - (text-mode . flyspell-mode)) -#+END_SRC - -*** FlySpell with Ace - -#+begin_src emacs-lisp -(use-package ace-flyspell - :bind - (:map flyspell-mode-map - ("C-M-i" . ace-flyspell-correct-word))) -#+end_src - -** Delete all the whitespace - -#+BEGIN_SRC emacs-lisp -(use-package hungry-delete - :config - (global-hungry-delete-mode)) -#+END_SRC - -** Send alerts to a notification system - -#+BEGIN_SRC emacs-lisp -(use-package alert - :config - (setq alert-default-style - (if (gpolonkai/termux-p) - (progn - ;; TODO Remove this as soon as my PR gets merged - ;; https://github.com/jwiegley/alert/pull/41 - (unless (fboundp 'alert-termux-notify) - (defcustom alert-termux-command (executable-find "termux-notification") - "Path to the termux-notification command. -This is found in the termux-api package, and it requires the Termux -API addon app to be installed." - :type 'file - :group 'alert) - - (defun alert-termux-notify (info) - "Send INFO using termux-notification. -Handles :TITLE and :MESSAGE keywords from the -INFO plist." - (if alert-termux-command - (let ((args (nconc - (when (plist-get info :title) - (list "-t" (alert-encode-string (plist-get info :title)))) - (list "-c" (alert-encode-string (plist-get info :message)))))) - (apply #'call-process alert-termux-command nil - (list (get-buffer-create " *termux-notification output*") t) - nil args)) - (alert-message-notify info))) - - (alert-define-style 'termux :title "Notify using termux" - :notifier #'alert-termux-notify)) - 'termux) - 'libnotify))) -#+END_SRC - ** Secretaria Because even secretaries need a secretary today. @@ -1879,38 +1967,6 @@ Because even secretaries need a secretary today. (after-init . secretaria-unknown-time-always-remind-me)) #+END_SRC -** Undo tree - -#+BEGIN_SRC emacs-lisp -(use-package undo-tree) -#+END_SRC - -** All the icons! - -Should the fonts be missing, run ~(all-the-icons-install-fonts)~. It’s not run automatically, as it -requires connecting to a website and download a pretty large font file. - -#+BEGIN_SRC emacs-lisp -(use-package all-the-icons) -#+END_SRC - -And apply it to dired, too. - -#+begin_src emacs-lisp -(use-package all-the-icons-dired - :hook - (dired-mode . all-the-icons-dired-mode)) -#+end_src - -** Jump to character, word, line - -#+BEGIN_SRC emacs-lisp -(use-package ace-jump-mode - :bind - (:map gpolonkai/pers-map - ("SPC" . ace-jump-mode))) -#+END_SRC - ** Mailing with mu4e Due to my programming (and maybe a bit of OCD) needs, i set trailing whitespace to have a red @@ -2013,23 +2069,6 @@ accompanying function will be added to ~mu4e-view-mode-hook~. (message-send-mail-function 'message-send-mail-with-sendmail)) #+end_src -** ViM’s ~ci~ functionality - -#+BEGIN_SRC emacs-lisp -(use-package ciel - :bind - (:map global-map - ("C-c i" . ciel-ci) - ("C-c o" . ciel-co))) -#+END_SRC - -** Speed bar in the same frame - -#+BEGIN_SRC emacs-lisp -(use-package sr-speedbar - :after speedbar) -#+END_SRC - ** Kubernetes dashboard #+BEGIN_SRC emacs-lisp @@ -2088,30 +2127,6 @@ I don’t always use the package menu, but when i do, i want to do it in style ("xena" "https://xena.greedo.xeserv.us/files/xena.txt")))) #+end_src -** Show available key bindings - -#+begin_src emacs-lisp -(use-package which-key - :config - (which-key-mode) - (which-key-setup-minibuffer) - :custom - (which-key-idle-delay 0.3)) -#+end_src - -** Doom themes - -#+begin_src emacs-lisp -(use-package doom-themes - :custom - (doom-themes-enable-bold t) - (doom-themes-enable-italic t) - :config - (load-theme 'doom-nord-aurora t) - (doom-themes-visual-bell-config) - (doom-themes-org-config)) -#+end_src - * Dired related packages ** Collapse directories that only contain one file somewhere deep @@ -2688,16 +2703,6 @@ This is a big one; I use a lot of customisation here. (org-clock-waybar-setup)) #+end_src -** Width-limited text view - -#+begin_src emacs-lisp -(use-package visual-fill-column - :custom - (visual-fill-column-center-text t) - :hook - (org-mode . visual-fill-column-mode)) -#+end_src - * Git & Co. ** Git status on the fringe