Move usability package configurations from configuration.org to init.el
This commit is contained in:
325
init.el
325
init.el
@@ -530,6 +530,331 @@ order."
|
||||
:bind (("M-/" . dabbrev-completion)
|
||||
("C-M-/" . dabbrev-expand)))
|
||||
|
||||
;; Make sure we always have the latest ELPA GPG keys
|
||||
(use-package gnu-elpa-keyring-update)
|
||||
|
||||
;; Keep packages up to date
|
||||
|
||||
(use-package auto-package-update
|
||||
:custom
|
||||
(auto-package-update-interval 7)
|
||||
(auto-package-update-delete-old-versions t)
|
||||
;; Even though this might require a restart when packages are updated, since
|
||||
;; `use-package' invocations update the list of installed packages, we have to
|
||||
;; do this in `after-init-hook'.
|
||||
:hook
|
||||
(after-init . auto-package-update-maybe))
|
||||
|
||||
;; TODO: This :config call might be omitted if i move it to
|
||||
;; ace-window-display-mode-hook
|
||||
(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)))))
|
||||
|
||||
(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))
|
||||
|
||||
;; The package that converted me to Emacs:
|
||||
;; https://gergely.polonkai.eu/blog/2014/9/17/nyanmacs.html
|
||||
(use-package nyan-mode
|
||||
:config
|
||||
(nyan-mode t)
|
||||
:custom
|
||||
(nyan-bar-length 20)
|
||||
(nyan-animate-nyancat t)
|
||||
(nyan-wavy-trail t))
|
||||
|
||||
;; 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.
|
||||
(use-package delight)
|
||||
|
||||
(use-package minions
|
||||
:config
|
||||
(minions-mode 1))
|
||||
|
||||
(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))
|
||||
|
||||
(use-package beacon
|
||||
:demand
|
||||
:config
|
||||
(beacon-mode 1)
|
||||
:bind
|
||||
(:map gpolonkai/pers-map
|
||||
("b" . beacon-blink)))
|
||||
|
||||
(use-package eshell-fringe-status
|
||||
:hook
|
||||
(eshell-mode . eshell-fringe-status-mode))
|
||||
|
||||
(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))
|
||||
|
||||
;; 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.
|
||||
|
||||
(use-package form-feed
|
||||
:hook
|
||||
(emacs-lisp-mode . form-feed-mode)
|
||||
(compilation-mode . form-feed-mode)
|
||||
(help-mode . form-feed-mode))
|
||||
|
||||
(use-package hl-line
|
||||
:config
|
||||
(when window-system
|
||||
(global-hl-line-mode))
|
||||
:custom-face
|
||||
(hl-line ((t (:inherit nil :background "gray25")))))
|
||||
|
||||
(use-package ace-jump-mode
|
||||
:bind
|
||||
(:map gpolonkai/pers-map
|
||||
("SPC" . ace-jump-mode)))
|
||||
|
||||
(defun gpolonkai/no-blink-matching-paren ()
|
||||
"Disable blinking matching parens."
|
||||
(customize-set-variable 'blink-matching-paren nil))
|
||||
|
||||
(defun gpolonkai/blink-matching-paren ()
|
||||
"Enable blinking matching parens."
|
||||
(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-<mouse-1>" . mc/add-cursor-on-click)))
|
||||
|
||||
;; phi-search is an incremental search compatible with multiple-cursors
|
||||
(use-package phi-search)
|
||||
(use-package phi-search-mc
|
||||
:config
|
||||
(phi-search-mc/setup-keys))
|
||||
|
||||
(use-package mc-extras
|
||||
:demand
|
||||
:bind
|
||||
(:map mc/keymap
|
||||
("=" . mc/compare-chars)))
|
||||
|
||||
(use-package ace-mc
|
||||
:bind
|
||||
(:map gpolonkai/mc-prefix-map
|
||||
("SPC" . ace-mc-add-multiple-cursors)
|
||||
("C-SPC" . ace-mc-add-single-cursor)))
|
||||
|
||||
(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)
|
||||
("C-c s r" . sp-rewrap-sexp)))
|
||||
|
||||
(use-package which-key
|
||||
:config
|
||||
(which-key-mode)
|
||||
(which-key-setup-minibuffer)
|
||||
:custom
|
||||
(which-key-idle-delay 0.3))
|
||||
|
||||
(use-package visual-fill-column
|
||||
:custom
|
||||
(visual-fill-column-center-text t)
|
||||
(visual-fill-column-width 120)
|
||||
:hook
|
||||
(org-mode . visual-fill-column-mode))
|
||||
|
||||
(use-package spinner)
|
||||
|
||||
(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)))
|
||||
|
||||
(use-package goto-last-change
|
||||
:bind
|
||||
(("M-g /" . goto-last-change)))
|
||||
|
||||
(use-package rainbow-mode
|
||||
:hook
|
||||
(css-mode . rainbow-mode)
|
||||
(scss-mode . rainbow-mode)
|
||||
(sass-mode . rainbow-mode))
|
||||
|
||||
(use-package zygospore
|
||||
:bind
|
||||
(:map ctl-x-map
|
||||
("1" . zygospore-toggle-delete-other-windows)))
|
||||
|
||||
(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))))
|
||||
|
||||
(use-package sr-speedbar
|
||||
:after speedbar)
|
||||
|
||||
(use-package hungry-delete
|
||||
:config
|
||||
(global-hungry-delete-mode))
|
||||
|
||||
(use-package anzu
|
||||
:delight
|
||||
:config
|
||||
(global-anzu-mode 1))
|
||||
|
||||
;; 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.
|
||||
|
||||
(use-package all-the-icons)
|
||||
|
||||
(use-package all-the-icons-dired
|
||||
:hook
|
||||
(dired-mode . all-the-icons-dired-mode))
|
||||
|
||||
(use-package flyspell
|
||||
:hook
|
||||
(prog-mode . flyspell-prog-mode)
|
||||
(text-mode . flyspell-mode))
|
||||
|
||||
(use-package ace-flyspell
|
||||
:bind
|
||||
(:map flyspell-mode-map
|
||||
("C-M-i" . ace-flyspell-correct-word)))
|
||||
|
||||
;; 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.
|
||||
;;
|
||||
;; TODO: is :demand really needed here?
|
||||
(use-package objed
|
||||
:demand t
|
||||
:bind
|
||||
(:map global-map
|
||||
("M-SPC" . objed-activate)))
|
||||
|
||||
(use-package alert
|
||||
:config
|
||||
(setq alert-default-style 'libnotify))
|
||||
|
||||
(alert-add-rule
|
||||
:status '(buried)
|
||||
:mode 'eshell-mode
|
||||
:style 'notifications)
|
||||
|
||||
(when (gpolonkai/termux-p)
|
||||
(use-package alert-termux
|
||||
:after alert
|
||||
:config
|
||||
(setq alert-default-style 'termux)))
|
||||
|
||||
(use-package undo-tree
|
||||
:config
|
||||
(global-undo-tree-mode)
|
||||
:custom
|
||||
(undo-tree-auto-save-history nil))
|
||||
|
||||
(use-package ciel
|
||||
:bind
|
||||
(:map global-map
|
||||
("C-c i" . ciel-ci)
|
||||
("C-c o" . ciel-co)))
|
||||
|
||||
(use-package hide-mode-line
|
||||
:bind (:map gpolonkai/pers-map
|
||||
("h" . hide-mode-line-mode)))
|
||||
|
||||
(use-package string-inflection
|
||||
:bind (:map gpolonkai/pers-map
|
||||
("i" . string-inflection-all-cycle)))
|
||||
|
||||
(use-package spdx
|
||||
:bind (:map gpolonkai/pers-map
|
||||
("L" . spdx-insert-spdx-copyright))
|
||||
:custom
|
||||
(spdx-copyright-holder 'user)
|
||||
(spdx-copyright-sign 'unicode))
|
||||
|
||||
(use-package ag
|
||||
:commands (ag))
|
||||
|
||||
(use-package rg
|
||||
:commands (rg))
|
||||
|
||||
;; I started moving my configuration to this Org file. It’s easier to document this way.
|
||||
(org-babel-load-file (expand-file-name "configuration.org" user-emacs-directory))
|
||||
|
||||
|
Reference in New Issue
Block a user