Clear out some packages I don't need any more
Removed: page-break-lines, helpful, ace-window, link-hint, consult-flyspell, embark (and associated), forge (part of magit anyway), flymake-popon, aggressive-indent Add function to ensure selected packages are installed Remove associated config for removed packages Move sendmail and message package config into mu4e module Reformat without aggressive-indent mode on
This commit is contained in:
parent
c0ba4c15ca
commit
b1112170f4
178
init.el
178
init.el
|
@ -1,12 +1,7 @@
|
|||
;;; init.el -- My emacs config -*- lexical-binding: t -*-
|
||||
;;; Commentary:
|
||||
;; Moving my Emacs config from separate directory
|
||||
;; To install packages on non-NixOS systems run `install.el'
|
||||
;;; Code:
|
||||
|
||||
;; Stop popups for warning messages, keep in log buffer
|
||||
(setopt warning-minimum-level :error)
|
||||
|
||||
;; Customise `use-package' behaviour, must be set before first time
|
||||
;; it's used. Configure packages archives with priority
|
||||
(setopt use-package-check-before-init t
|
||||
|
@ -21,24 +16,32 @@
|
|||
:custom
|
||||
(package-archive-priorities '(("melpa" . 1) ("stable" . 2) ("nongnu" . 3) ("gnu" . 4)))
|
||||
(package-selected-packages
|
||||
'(;; Theme
|
||||
base16-theme
|
||||
'(
|
||||
;; UI
|
||||
all-the-icons nerd-icons nerd-icons-completion nerd-icons-corfu nerd-icons-dired nerd-icons-ibuffer
|
||||
minions ligature page-break-lines helpful which-key ace-window link-hint diff-hl
|
||||
base16-theme all-the-icons nerd-icons nerd-icons-completion
|
||||
nerd-icons-corfu nerd-icons-dired nerd-icons-ibuffer minions
|
||||
ligature which-key diff-hl
|
||||
|
||||
;; Completion
|
||||
vertico orderless marginalia cape corfu corfu-terminal
|
||||
consult consult-eglot consult-flyspell embark embark-consult
|
||||
flyspell-correct tempel
|
||||
consult consult-eglot flyspell-correct tempel
|
||||
|
||||
;; IDE
|
||||
treesit-auto magit forge flymake-popon flymake-shellcheck flymake-yamllint flymake-clippy flymake-eslint
|
||||
apheleia envrc rainbow-delimiters aggressive-indent python-docstring nix-mode lua-mode
|
||||
;; Writing
|
||||
markdown-mode pandoc-mode auctex htmlize))
|
||||
treesit-auto magit apheleia envrc rainbow-delimiters
|
||||
flymake-shellcheck flymake-yamllint flymake-clippy flymake-eslint
|
||||
markdown-mode pandoc-mode python-docstring nix-mode lua-mode
|
||||
|
||||
))
|
||||
:config
|
||||
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/"))
|
||||
(add-to-list 'package-archives '("stable" . "https://stable.melpa.org/packages/"))
|
||||
(package-initialize))
|
||||
(package-initialize)
|
||||
|
||||
(defun my/package-ensure ()
|
||||
"Update package archives and ensure packages are installed."
|
||||
(package-refresh-contents)
|
||||
(package-install-selected-packages)
|
||||
(package-autoremove)))
|
||||
|
||||
(set-default-coding-systems 'utf-8)
|
||||
|
||||
|
@ -120,19 +123,6 @@
|
|||
:config
|
||||
(auth-source-pass-enable))
|
||||
|
||||
;; Make `describe-*' screens more helpful
|
||||
(use-package helpful
|
||||
:if (package-installed-p 'helpful)
|
||||
:defines helpful-mode-map
|
||||
:bind (("<remap> <describe-command>" . helpful-command)
|
||||
("<remap> <describe-function>" . helpful-callable)
|
||||
("<remap> <describe-key>" . helpful-key)
|
||||
("<remap> <describe-symbol>" . helpful-symbol)
|
||||
("<remap> <describe-variable>" . helpful-variable)
|
||||
("C-h F" . helpful-function)
|
||||
:map helpful-mode-map
|
||||
("<remap> <revert-buffer>" . helpful-update)))
|
||||
|
||||
;; Bind extra `describe-*' commands
|
||||
(keymap-global-set "C-h K" #'describe-keymap)
|
||||
|
||||
|
@ -156,39 +146,10 @@
|
|||
:bind ( :map flyspell-mode-map
|
||||
("C-;" . flyspell-correct-wrapper)))
|
||||
|
||||
(use-package consult-flyspell
|
||||
:after (consult flyspell)
|
||||
:bind ( :map flyspell-mode-map
|
||||
("C-c s ;" . consult-flyspell))
|
||||
:custom
|
||||
(consult-flyspell-always-check-buffer t))
|
||||
|
||||
(use-package ibuffer
|
||||
:defines ibuffer-filter-groups
|
||||
:bind (("C-c b" . ibuffer)))
|
||||
|
||||
(use-package avy
|
||||
:if (package-installed-p 'avy)
|
||||
:bind (("<remap> <goto-char>" . avy-goto-char)))
|
||||
|
||||
(use-package ace-window
|
||||
:if (package-installed-p 'ace-window)
|
||||
:bind (("<remap> <other-window>" . ace-window))
|
||||
:custom
|
||||
(aw-scope 'frame)
|
||||
(aw-keys '(?a ?s ?d ?f ?g ?h ?j ?k ?l)))
|
||||
|
||||
(use-package link-hint
|
||||
:if (package-installed-p 'link-hint)
|
||||
:bind (("C-c l o" . link-hint-open-link)
|
||||
("C-c l c" . link-hint-copy-link)
|
||||
("C-c l C-o" . link-hint-open-all-link)
|
||||
("C-c l C-c" . link-hint-copy-all-link)))
|
||||
|
||||
(use-package comint
|
||||
:bind ( :map comint-mode-map
|
||||
("<remap> <comint-history-isearch-backward-regexp>" . consult-history)))
|
||||
|
||||
(use-package shell
|
||||
:bind (("C-c t s" . shell)))
|
||||
|
||||
|
@ -690,14 +651,6 @@
|
|||
citar-indicator-notes-icons
|
||||
citar-indicator-cited-icons)))
|
||||
|
||||
(use-package citar-embark
|
||||
:requires citar
|
||||
:functions citar-embark-mode
|
||||
:init
|
||||
(require 'embark)
|
||||
:config
|
||||
(citar-embark-mode +1))
|
||||
|
||||
(setq org-latex-compiler "lualatex")
|
||||
(setq org-preview-latex-default-process 'dvisvgm)
|
||||
|
||||
|
@ -814,24 +767,14 @@
|
|||
("C-c s e" . consult-flymake)
|
||||
("C-c s i" . consult-info)
|
||||
:map minibuffer-local-map
|
||||
("<remap> <previous-matching-history-element>" . consult-history)))
|
||||
("<remap> <previous-matching-history-element>" . consult-history)
|
||||
:map comint-mode-map
|
||||
("<remap> <comint-history-isearch-backward-regexp>" . consult-history)))
|
||||
|
||||
(use-package consult-eglot
|
||||
:after (consult eglot)
|
||||
:bind (("C-c s s" . consult-eglot-symbols)))
|
||||
|
||||
(use-package embark
|
||||
:if (package-installed-p 'embark)
|
||||
:functions embark-prefix-help-command
|
||||
:bind (("<remap> <describe-bindings>" . embark-bindings)
|
||||
("C-." . embark-act))
|
||||
:config
|
||||
(setq prefix-help-command #'embark-prefix-help-command))
|
||||
|
||||
(use-package embark-consult
|
||||
:after (embark consult)
|
||||
:hook (embark-collect-mode . consult-preview-at-point-mode))
|
||||
|
||||
(use-package tempel
|
||||
:if (package-installed-p 'tempel)
|
||||
:defines tempel-path
|
||||
|
@ -904,21 +847,21 @@
|
|||
("C-c c r" . eglot-rename))
|
||||
:hook ((eglot-managed-mode . (lambda () (add-hook 'flymake-diagnostic-functions 'eglot-flymake-backend nil t)))
|
||||
(nix-mode . (lambda () (if (and (project-current nil)
|
||||
(executable-find "nil" t))
|
||||
(eglot-ensure))))
|
||||
(executable-find "nil" t))
|
||||
(eglot-ensure))))
|
||||
(python-base-mode . (lambda () (if (and (project-current nil)
|
||||
(or (executable-find "pyright" t)
|
||||
(executable-find "pylsp" t)))
|
||||
(eglot-ensure))))
|
||||
(or (executable-find "pyright" t)
|
||||
(executable-find "pylsp" t)))
|
||||
(eglot-ensure))))
|
||||
(lua-mode . (lambda () (if (and (project-current nil)
|
||||
(executable-find "lua-language-server" t))
|
||||
(eglot-ensure))))
|
||||
(executable-find "lua-language-server" t))
|
||||
(eglot-ensure))))
|
||||
((rust-ts-mode rust-mode) . (lambda () (if (and (project-current nil)
|
||||
(executable-find "rust-analyzer" t))
|
||||
(eglot-ensure))))
|
||||
(executable-find "rust-analyzer" t))
|
||||
(eglot-ensure))))
|
||||
((js-base-mode typescript-ts-base-mode) . (lambda () (if (and (project-current nil)
|
||||
(executable-find "typescript-language-server" t))
|
||||
(eglot-ensure))))
|
||||
(executable-find "typescript-language-server" t))
|
||||
(eglot-ensure))))
|
||||
)
|
||||
:custom
|
||||
(eglot-menu-string "lsp")
|
||||
|
@ -995,38 +938,33 @@
|
|||
(flymake-no-changes-timeout 1)
|
||||
(flymake-show-diagnostics-at-end-of-line 'short))
|
||||
|
||||
(use-package flymake-popon
|
||||
:if (package-installed-p 'flymake-popon)
|
||||
:functions flymake-popon-mode
|
||||
:requires flymake
|
||||
:hook ((flymake-mode . (lambda () (flymake-popon-mode +1)))))
|
||||
|
||||
(use-package flymake-shellcheck
|
||||
:if (and (executable-find "shellcheck")
|
||||
(package-installed-p 'flymake-shellcheck))
|
||||
:if (package-installed-p 'flymake-shellcheck)
|
||||
:functions flymake-shellcheck-load
|
||||
:requires flymake
|
||||
:hook (sh-mode . flymake-shellcheck-load))
|
||||
:hook (sh-mode . (lambda () (if (executable-find "shellcheck" t)
|
||||
(flymake-shellcheck-load)))))
|
||||
|
||||
(use-package flymake-yamllint
|
||||
:if (and (executable-find "yamllint")
|
||||
(package-installed-p 'flymake-yamllint))
|
||||
:if (package-installed-p 'flymake-yamllint)
|
||||
:functions flymake-yamllint-setup
|
||||
:requires flymake
|
||||
:hook (yaml-ts-mode . flymake-yamllint-setup))
|
||||
:hook (yaml-ts-mode . (lambda () (if (executable-find "yamllint" t)
|
||||
(flymake-yamllint-setup)))))
|
||||
|
||||
(use-package flymake-clippy
|
||||
:if (and (executable-find "clippy")
|
||||
(package-installed-p 'flymake-clippy))
|
||||
:if (package-installed-p 'flymake-clippy)
|
||||
:functions flymake-clippy-setup-backend
|
||||
:requires flymake
|
||||
:hook (rust-mode . flymake-clippy-setup-backend))
|
||||
:hook (rust-mode . (lambda () (if (executable-find "clippy" t)
|
||||
(flymake-clippy-setup-backend)))))
|
||||
|
||||
(use-package flymake-eslint
|
||||
:if (and (executable-find "eslint")
|
||||
(package-installed-p 'flymake-eslint))
|
||||
:if (package-installed-p 'flymake-eslint)
|
||||
:functions flymake-eslint-enable
|
||||
:requires flymake
|
||||
:hook ((js-base-mode typescript-ts-base-mode) . flymake-eslint-enable))
|
||||
:hook ((js-base-mode typescript-ts-base-mode) . (lambda () (if (executable-find "eslint" t)
|
||||
(flymake-eslint-enable)))))
|
||||
|
||||
(use-package project
|
||||
:functions (project-forget-zombie-projects
|
||||
|
@ -1076,13 +1014,6 @@ Calls `project-remember-projects-under' for ~/Projects/"
|
|||
("\\`\\(?:sourcehut:\\|sh:\\)\\([^:]+\\)\\'" "git.sr.ht" "sourcehut.user")
|
||||
("\\`\\(?:gitea:\\|gt:\\)\\([^:]+\\)\\'" "git.xenia.me.uk" "gitea.user"))))
|
||||
|
||||
(use-package aggressive-indent
|
||||
:if (package-installed-p 'aggressive-indent)
|
||||
:hook (elisp-mode
|
||||
lisp-mode
|
||||
lisp-data-mode
|
||||
rust-mode))
|
||||
|
||||
(use-package nix-mode
|
||||
:if (package-installed-p 'nix-mode)
|
||||
:mode "\\.nix\\'"
|
||||
|
@ -1170,27 +1101,14 @@ Calls `project-remember-projects-under' for ~/Projects/"
|
|||
:after (markdown-mode)
|
||||
:hook (markdown-mode . conditionally-turn-on-pandoc))
|
||||
|
||||
(use-package sendmail
|
||||
:custom
|
||||
(sendmail-program (executable-find "msmtp"))
|
||||
(send-mail-function #'sendmail-send-it))
|
||||
|
||||
(use-package message
|
||||
:custom
|
||||
(message-send-mail-function #'message-send-mail-with-sendmail)
|
||||
(message-sendmail-f-is-evil t)
|
||||
(message-sendmail-extra-arguments '("--read-envelope-from"))
|
||||
(message-auto-save-directory nil)
|
||||
(message-kill-buffer-on-exit t))
|
||||
(if (package-installed-p 'mu4e)
|
||||
(load-file (locate-user-emacs-file "modules/my-mu4e.el")))
|
||||
|
||||
(use-package bbdb
|
||||
:bind (("M-g b" . bbdb-display-all-records))
|
||||
:custom
|
||||
(bbdb-file (locate-user-emacs-file "bbdb.gpg")))
|
||||
|
||||
(if (package-installed-p 'mu4e)
|
||||
(load-file (locate-user-emacs-file "modules/my-mu4e.el")))
|
||||
|
||||
(use-package erc
|
||||
:commands erc-compute-nick
|
||||
:custom
|
||||
|
|
|
@ -1,14 +1,21 @@
|
|||
;;; my-mu4e.el -- mu4e -*- lexical-binding: t -*-
|
||||
;;; Commentary:
|
||||
;;; Code:
|
||||
(setq sendmail-program (executable-find "msmtp")
|
||||
send-mail-function #'sendmail-send-it
|
||||
message-send-mail-function #'message-send-mail-with-sendmail
|
||||
message-sendmail-f-is-evil t
|
||||
message-sendmail-extra-arguments '("--read-envelope-from")
|
||||
message-auto-save-directory nil
|
||||
message-kill-buffer-on-exit t
|
||||
mail-user-agent 'mu4e-user-agent
|
||||
|
||||
(use-package sendmail
|
||||
:custom
|
||||
(sendmail-program (executable-find "msmtp"))
|
||||
(send-mail-function #'sendmail-send-it))
|
||||
|
||||
(use-package message
|
||||
:custom
|
||||
(message-send-mail-function #'message-send-mail-with-sendmail)
|
||||
(message-sendmail-f-is-evil t)
|
||||
(message-sendmail-extra-arguments '("--read-envelope-from"))
|
||||
(message-auto-save-directory nil)
|
||||
(message-kill-buffer-on-exit t))
|
||||
|
||||
(setq mail-user-agent 'mu4e-user-agent
|
||||
read-mail-command 'mu4e)
|
||||
|
||||
(use-package mm-decode
|
||||
|
|
Loading…
Reference in a new issue