Add package-installed-p checks to external packages
This commit is contained in:
parent
eccc95a5f7
commit
9f3d9c7015
54
init.el
54
init.el
|
@ -10,6 +10,7 @@
|
|||
(package-initialize))
|
||||
|
||||
(use-package delight
|
||||
:if (package-installed-p 'delight)
|
||||
:demand t)
|
||||
|
||||
(setq user-full-name "Evie Litherland-Smith"
|
||||
|
@ -47,19 +48,23 @@
|
|||
(scroll-bar-mode -1)
|
||||
|
||||
(use-package nerd-icons
|
||||
:if (package-installed-p 'nerd-icons)
|
||||
:demand t)
|
||||
|
||||
(use-package nerd-icons-dired
|
||||
:if (package-installed-p 'nerd-icons-dired)
|
||||
:after (nerd-icons dired)
|
||||
:commands nerd-icons-dired-mode
|
||||
:hook (dired-mode . (lambda () (nerd-icons-dired-mode +1))))
|
||||
|
||||
(use-package nerd-icons-ibuffer
|
||||
:if (package-installed-p 'nerd-icons-ibuffer)
|
||||
:after nerd-icons
|
||||
:commands nerd-icons-ibuffer-mode
|
||||
:hook (ibuffer-mode . (lambda () (nerd-icons-ibuffer-mode +1))))
|
||||
|
||||
(use-package nerd-icons-corfu
|
||||
:if (package-installed-p 'nerd-icons-corfu)
|
||||
:after nerd-icons)
|
||||
|
||||
(setopt mode-line-compact 'long)
|
||||
|
@ -132,6 +137,7 @@
|
|||
(window-parameters . ((no-delete-other-windows . t))))))
|
||||
|
||||
(use-package khalel
|
||||
:if (package-installed-p 'khalel)
|
||||
:after (appt org)
|
||||
:commands (khalel-run-vdirsyncer khalel-import-events khalel-add-capture-template)
|
||||
:custom
|
||||
|
@ -157,15 +163,16 @@
|
|||
(message-auto-save-directory nil)
|
||||
(message-kill-buffer-on-exit t))
|
||||
|
||||
(setq mail-user-agent 'mu4e-user-agent
|
||||
read-mail-command 'mu4e)
|
||||
|
||||
(use-package mu4e
|
||||
:if (package-installed-p 'mu4e)
|
||||
:bind
|
||||
(("C-c m" . mu4e)
|
||||
:map mu4e-view-mode-map
|
||||
("o n" . mu4e-org-store-and-capture))
|
||||
:hook ((mu4e-main-mode mu4e-headers-mode) . (lambda () (visual-line-mode -1)))
|
||||
:init
|
||||
(setq mail-user-agent 'mu4e-user-agent
|
||||
read-mail-command 'mu4e)
|
||||
:custom
|
||||
(mu4e-read-option-use-builtin nil)
|
||||
(mu4e-completing-read-function #'completing-read)
|
||||
|
@ -555,6 +562,7 @@
|
|||
tab-mark)))
|
||||
|
||||
(use-package diff-hl
|
||||
:if (package-installed-p 'diff-hl)
|
||||
:functions (diff-hl-magit-pre-refresh
|
||||
diff-hl-magit-post-refresh
|
||||
global-diff-hl-mode)
|
||||
|
@ -685,6 +693,7 @@
|
|||
(khalel-add-capture-template))
|
||||
|
||||
(use-package org-roam
|
||||
:if (package-installed-p 'org-roam)
|
||||
:after org
|
||||
:defines org-roam-directory
|
||||
:functions org-roam-db-autosync-mode
|
||||
|
@ -723,6 +732,7 @@
|
|||
;; :target (file+datetree "journal.org" week)))))
|
||||
|
||||
(use-package org-journal
|
||||
:if (package-installed-p 'org-journal)
|
||||
:after org
|
||||
:demand
|
||||
:bind ("C-c n d" . org-journal-new-entry)
|
||||
|
@ -799,6 +809,7 @@
|
|||
(org-icalendar-combined-description "Emacs org-mode combined export"))
|
||||
|
||||
(use-package org-noter
|
||||
:if (package-installed-p 'org-noter)
|
||||
:after (org doc-view citar)
|
||||
:commands org-noter
|
||||
:custom
|
||||
|
@ -813,6 +824,7 @@
|
|||
(org-noter-prefer-root-as-file-level nil))
|
||||
|
||||
(use-package citar
|
||||
:if (package-installed-p 'citar)
|
||||
:defines (citar-bibliography
|
||||
citar-indicators)
|
||||
:functions (citar-indicator-create
|
||||
|
@ -885,6 +897,7 @@
|
|||
(setq org-preview-latex-default-process 'dvisvgm)
|
||||
|
||||
(use-package vertico
|
||||
:if (package-installed-p 'vertico)
|
||||
:functions vertico-mode
|
||||
:custom
|
||||
(vertico-cycle t)
|
||||
|
@ -894,6 +907,7 @@
|
|||
(require 'vertico-directory))
|
||||
|
||||
(use-package marginalia
|
||||
:if (package-installed-p 'marginalia)
|
||||
:functions marginalia-mode
|
||||
:custom
|
||||
(marginalia-annotators '(marginalia-annotators-heavy
|
||||
|
@ -904,6 +918,7 @@
|
|||
:config (marginalia-mode +1))
|
||||
|
||||
(use-package orderless
|
||||
:if (package-installed-p 'orderless)
|
||||
:custom
|
||||
(completion-styles '(orderless basic))
|
||||
(completion-category-defaults nil)
|
||||
|
@ -912,6 +927,7 @@
|
|||
(eglot-capf (styles orderless)))))
|
||||
|
||||
(use-package corfu
|
||||
:if (package-installed-p 'corfu)
|
||||
:defines (corfu-map
|
||||
corfu-mode-map
|
||||
corfu-margin-formatters)
|
||||
|
@ -963,10 +979,12 @@
|
|||
(corfu-popupinfo-delay 0.3))
|
||||
|
||||
(use-package corfu-terminal
|
||||
:if (package-installed-p 'corfu-terminal)
|
||||
:after corfu
|
||||
:functions corfu-terminal-mode)
|
||||
|
||||
(use-package cape
|
||||
:if (package-installed-p 'cape)
|
||||
:after corfu
|
||||
:functions (cape-emoji
|
||||
cape-file
|
||||
|
@ -980,6 +998,7 @@
|
|||
(cape-dabbrev-min-length (+ corfu-auto-prefix 1)))
|
||||
|
||||
(use-package consult
|
||||
:if (package-installed-p 'consult)
|
||||
:functions (consult-org-heading
|
||||
consult-history)
|
||||
:bind (("<remap> <imenu>" . consult-imenu)
|
||||
|
@ -997,10 +1016,12 @@
|
|||
("<remap> <comint-history-isearch-backward-regexp>" . consult-history)))
|
||||
|
||||
(use-package consult-eglot
|
||||
:if (package-installed-p 'consult-eglot)
|
||||
:after (consult eglot)
|
||||
:bind (("C-c c s" . consult-eglot-symbols)))
|
||||
|
||||
(use-package tempel
|
||||
:if (package-installed-p 'tempel)
|
||||
:defines tempel-path
|
||||
:functions (tempel-expand
|
||||
tempel-abbrev-mode)
|
||||
|
@ -1011,6 +1032,7 @@
|
|||
(tempel-trigger-prefix "+"))
|
||||
|
||||
(use-package tempel-collection
|
||||
:if (package-installed-p 'tempel-collection)
|
||||
:after tempel)
|
||||
|
||||
(require 'tramp)
|
||||
|
@ -1034,9 +1056,11 @@
|
|||
)))
|
||||
|
||||
(use-package rainbow-delimiters
|
||||
:if (package-installed-p 'rainbow-delimiters)
|
||||
:hook (prog-mode))
|
||||
|
||||
(use-package envrc
|
||||
:if (package-installed-p 'envrc)
|
||||
:hook (after-init . envrc-global-mode)
|
||||
:custom
|
||||
(envrc-show-summary-in-minibuffer t))
|
||||
|
@ -1052,6 +1076,7 @@
|
|||
(treesit-font-lock-level 3))
|
||||
|
||||
(use-package treesit-auto
|
||||
:if (package-installed-p 'treesit-auto)
|
||||
:after treesit
|
||||
:functions (treesit-auto-add-to-auto-mode-alist
|
||||
global-treesit-auto-mode)
|
||||
|
@ -1113,6 +1138,7 @@
|
|||
)
|
||||
|
||||
(use-package apheleia
|
||||
:if (package-installed-p 'apheleia)
|
||||
:delight apheleia-mode
|
||||
:defines (apheleia-formatters
|
||||
apheleia-mode-alist)
|
||||
|
@ -1129,26 +1155,28 @@
|
|||
:hook ((prog-mode yaml-ts-mode) . (lambda () (flymake-mode +1))))
|
||||
|
||||
(use-package flymake-shellcheck
|
||||
:disabled t
|
||||
:if (package-installed-p 'flymake-shellcheck)
|
||||
:functions flymake-shellcheck-load
|
||||
:after flymake
|
||||
:hook (sh-mode . (lambda () (if (executable-find "shellcheck" t)
|
||||
(flymake-shellcheck-load)))))
|
||||
|
||||
(use-package flymake-yamllint
|
||||
:if (package-installed-p 'flymake-yamllint)
|
||||
:functions flymake-yamllint-setup
|
||||
:after flymake
|
||||
:hook (yaml-ts-mode . (lambda () (if (executable-find "yamllint" t)
|
||||
(flymake-yamllint-setup)))))
|
||||
|
||||
(use-package flymake-clippy
|
||||
:disabled t
|
||||
:if (package-installed-p 'flymake-clippy)
|
||||
:functions flymake-clippy-setup-backend
|
||||
:after flymake
|
||||
:hook (rust-mode . (lambda () (if (executable-find "clippy" t)
|
||||
(flymake-clippy-setup-backend)))))
|
||||
|
||||
(use-package flymake-eslint
|
||||
:if (package-installed-p 'flymake-eslint)
|
||||
:functions flymake-eslint-enable
|
||||
:after flymake
|
||||
:hook ((js-base-mode typescript-ts-base-mode) . (lambda () (if (executable-find "eslint" t)
|
||||
|
@ -1179,6 +1207,7 @@
|
|||
))
|
||||
|
||||
(use-package magit
|
||||
:if (package-installed-p 'magit)
|
||||
:bind (("C-c g" . magit-status)
|
||||
:map project-prefix-map
|
||||
("m" . magit-project-status))
|
||||
|
@ -1199,9 +1228,11 @@
|
|||
("\\`\\(?:gitea:\\|gt:\\)\\([^:]+\\)\\'" "git.xenia.me.uk" "gitea.user"))))
|
||||
|
||||
(use-package forge
|
||||
:if (package-installed-p 'forge)
|
||||
:after magit)
|
||||
|
||||
(use-package nix-mode
|
||||
:if (package-installed-p 'nix-mode)
|
||||
:mode "\\.nix\\'"
|
||||
:functions nix-prettify-global-mode
|
||||
:config
|
||||
|
@ -1212,6 +1243,7 @@
|
|||
(nix-prettify-global-mode +1))
|
||||
|
||||
(use-package lua-mode
|
||||
:if (package-installed-p 'lua-mode)
|
||||
:mode "\\.lua\\'")
|
||||
|
||||
(defun my/enable-fill-column (col)
|
||||
|
@ -1244,9 +1276,11 @@
|
|||
(setq python-ts-mode-hook python-mode-hook))
|
||||
|
||||
(use-package python-docstring
|
||||
:if (package-installed-p 'python-docstring)
|
||||
:hook python-base-mode)
|
||||
|
||||
(use-package python-pytest
|
||||
:if (package-installed-p 'python-pytest)
|
||||
:defer t)
|
||||
|
||||
(use-package files
|
||||
|
@ -1265,9 +1299,11 @@
|
|||
(doc-view-scale-internally t))
|
||||
|
||||
(use-package auctex
|
||||
:if (package-installed-p 'auctex)
|
||||
:defer t)
|
||||
|
||||
(use-package markdown-mode
|
||||
:if (package-installed-p 'markdown-mode)
|
||||
:custom
|
||||
(markdown-enable-math t)
|
||||
(markdown-enable-html t)
|
||||
|
@ -1279,6 +1315,7 @@
|
|||
(set-face-attribute 'markdown-comment-face nil :inherit 'variable-pitch))
|
||||
|
||||
(use-package pandoc-mode
|
||||
:if (package-installed-p 'pandoc-mode)
|
||||
:after (markdown-mode)
|
||||
:hook (markdown-mode . conditionally-turn-on-pandoc))
|
||||
|
||||
|
@ -1293,11 +1330,18 @@
|
|||
(eww-browse-url-new-window-is-tab nil))
|
||||
|
||||
(use-package scad-mode
|
||||
:if (package-installed-p 'scad-mode)
|
||||
:defer t)
|
||||
|
||||
;; Scratch buffer shortcut
|
||||
(keymap-global-set "C-c w x" #'scratch-buffer)
|
||||
|
||||
(defun my/open-init-file ()
|
||||
"Open `user-init-file'."
|
||||
(interactive)
|
||||
(find-file user-init-file))
|
||||
(keymap-global-set "C-c w i" #'my/open-init-file)
|
||||
|
||||
;; Org shortcuts
|
||||
(defun my/open-org-directory ()
|
||||
"Open base `org-mode' directory in Dired."
|
||||
|
|
Loading…
Reference in a new issue