Convert use-package declarations to use straight.el

Add early-init.el to disable built-in package.el

Ignore extra straight repos and build files (except straight.el
itself), add lock file for current package versions
This commit is contained in:
Evie Litherland-Smith 2024-08-09 14:28:13 +01:00
parent 9aa62a2dbf
commit 34056bb71b
4 changed files with 156 additions and 129 deletions

7
.gitignore vendored
View file

@ -74,3 +74,10 @@ flycheck_*.el
/games/ /games/
/calc.el /calc.el
/README.el /README.el
# straight.el
/straight/build-cache.el
/straight/build/
/straight/modified/
/straight/repos/*
!/straight/repos/straight.el

View file

@ -2,27 +2,24 @@
#+author: Evie Litherland-Smith #+author: Evie Litherland-Smith
#+email: evie@xenia.me.uk #+email: evie@xenia.me.uk
#+filetags: :emacs:config:org: #+filetags: :emacs:config:org:
Personal Emacs configuration. Clone to =~/.config/emacs/= (or Personal Emacs configuration. Clone to =~/.emacs.d/= and install
=~/.emacs.d/=) and install specified plugins. specified plugins.
* Config * Config
** Package management ** Package management
Customise =use-package= before first time it's used. Load [[https://github.com/radian-software/straight.el][straight.el]] functional package manager. Code stored in
[[file:straight/repos/straight.el/]] as a submodule, rather than using the
bootstrap script, for better reproducibility. Configure integration
with =use-package= and enable package installation with =straight.el= by
default.
#+begin_src emacs-lisp #+begin_src emacs-lisp
(setopt use-package-check-before-init t (defvar bootstrap-version)
use-package-enable-imenu-support t) (let ((bootstrap-file (expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory))
#+end_src (bootstrap-version 5))
(when (file-exists-p bootstrap-file)
(load bootstrap-file nil 'nomessage)))
Configure package archives and initialise. (straight-use-package 'use-package)
#+begin_src emacs-lisp
(use-package package
:config
(add-to-list 'package-archives '("melpa-stable" . "https://stable.melpa.org/packages/"))
(package-initialize))
;; Plugins that still need adding / configuring: `auctex' `htmlize'
;; `password-store'
#+end_src #+end_src
** Defaults ** Defaults
Set some useful defaults. Some of these should be moved to relevant Set some useful defaults. Some of these should be moved to relevant
@ -40,13 +37,6 @@ section of configuration.
(delete-selection-mode +1) (delete-selection-mode +1)
#+end_src #+end_src
Filter warning messages from causing popups. Keep in log, but only
show for error or emergency.
#+begin_src emacs-lisp
(setq warning-minimum-level :error)
#+end_src
Bind mouse keys to expected movement commands Bind mouse keys to expected movement commands
#+begin_src emacs-lisp #+begin_src emacs-lisp
@ -74,9 +64,8 @@ Configure the look and feel of Emacs
#+end_src #+end_src
*** Theme and Icons *** Theme and Icons
#+begin_src emacs-lisp #+begin_src emacs-lisp
(add-to-list 'package-selected-packages 'base16-theme)
(use-package base16-theme (use-package base16-theme
:if (package-installed-p 'base16-theme) :straight t
:defines (base16-one-light-theme-colors) :defines (base16-one-light-theme-colors)
:custom :custom
(base16-theme-distinct-fringe-background nil) (base16-theme-distinct-fringe-background nil)
@ -107,37 +96,30 @@ Configure the look and feel of Emacs
(add-hook 'server-after-make-frame-hook (add-hook 'server-after-make-frame-hook
(lambda () (when (display-graphic-p) (my/load-theme-and-configure)))) (lambda () (when (display-graphic-p) (my/load-theme-and-configure))))
(add-to-list 'package-selected-packages 'all-the-icons)
(add-to-list 'package-selected-packages 'all-the-icons-dired)
(add-to-list 'package-selected-packages 'all-the-icons-ibuffer)
(add-to-list 'package-selected-packages 'all-the-icons-completion)
(use-package all-the-icons (use-package all-the-icons
:if (package-installed-p 'all-the-icons)) :straight t)
(use-package all-the-icons-dired (use-package all-the-icons-dired
:if (package-installed-p 'all-the-icons-dired) :straight t
:after all-the-icons :after all-the-icons
:hook (dired-mode)) :hook (dired-mode . all-the-icons-dired-mode))
(use-package all-the-icons-ibuffer (use-package all-the-icons-ibuffer
:if (package-installed-p 'all-the-icons-ibuffer) :straight t
:after all-the-icons :after all-the-icons
:hook (ibuffer-mode)) :hook (ibuffer-mode . all-the-icons-ibuffer-mode))
(use-package all-the-icons-completion (use-package all-the-icons-completion
:if (package-installed-p 'all-the-icons-completion) :straight t
:after (all-the-icons marginalia-mode) :after (all-the-icons marginalia-mode)
:hook (marginalia-mode . all-the-icons-completion-marginalia-setup)) :hook (marginalia-mode . all-the-icons-completion-marginalia-setup))
(add-to-list 'package-selected-packages 'nerd-icons)
(add-to-list 'package-selected-packages 'nerd-icons-corfu)
(use-package nerd-icons (use-package nerd-icons
:if (package-installed-p 'nerd-icons)) :straight t)
(use-package nerd-icons-corfu (use-package nerd-icons-corfu
:if (package-installed-p 'nerd-icons-corfu) :straight t
:after nerd-icons) :after nerd-icons)
#+end_src #+end_src
*** Modeline *** Modeline
@ -147,9 +129,8 @@ Configure the look and feel of Emacs
(size-indication-mode +1) (size-indication-mode +1)
(which-function-mode -1) (which-function-mode -1)
(add-to-list 'package-selected-packages 'doom-modeline)
(use-package doom-modeline (use-package doom-modeline
:if (package-installed-p 'doom-modeline) :straight t
:functions (doom-modeline-mode) :functions (doom-modeline-mode)
:hook (after-init . (lambda () (doom-modeline-mode +1))) :hook (after-init . (lambda () (doom-modeline-mode +1)))
:custom :custom
@ -182,10 +163,9 @@ Configure the look and feel of Emacs
*** Font ligatures *** Font ligatures
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package ligature (use-package ligature
:if (package-installed-p 'ligature) :straight t
:disabled t :functions (ligature-set-ligatures global-ligature-mode)
:functions (ligature-set-ligatures :hook (after-init . (lambda () (global-ligature-mode +1)))
global-ligature-mode)
:config :config
(ligature-set-ligatures (ligature-set-ligatures
'(text-mode prog-mode org-mode) '(text-mode prog-mode org-mode)
@ -194,8 +174,7 @@ Configure the look and feel of Emacs
"<->" "<-->" "<--->" "<---->" "<->" "<-->" "<--->" "<---->"
"<=>" "<==>" "<===>" "<====>" "<=>" "<==>" "<===>" "<====>"
"<=" ">=" "==" "!=" "===" "!==" "!===" "<=" ">=" "==" "!=" "===" "!==" "!==="
"/*" "*/" "+++" "<~~" "~~>" "<!---" "---!>")) "/*" "*/" "+++" "<~~" "~~>" "<!---" "---!>")))
(global-ligature-mode +1))
#+end_src #+end_src
*** Font Showcase *** Font Showcase
This is a showcase of various font and UI features to act as a This is a showcase of various font and UI features to act as a
@ -699,9 +678,8 @@ Configure email with iCalendar event support, to integrate with
:custom :custom
(flyspell-use-meta-tab nil)) (flyspell-use-meta-tab nil))
(add-to-list 'package-selected-packages 'flyspell-correct)
(use-package flyspell-correct (use-package flyspell-correct
:if (package-installed-p 'flyspell-correct) :straight t
:after flyspell :after flyspell
:bind ( :map flyspell-mode-map :bind ( :map flyspell-mode-map
("C-;" . flyspell-correct-wrapper))) ("C-;" . flyspell-correct-wrapper)))
@ -732,9 +710,8 @@ Configure email with iCalendar event support, to integrate with
(add-hook 'prog-mode-hook #'(lambda () (display-line-numbers-mode +1))) (add-hook 'prog-mode-hook #'(lambda () (display-line-numbers-mode +1)))
(add-to-list 'package-selected-packages 'which-key)
(use-package which-key (use-package which-key
:if (package-installed-p 'which-key) :straight t
:functions which-key-mode :functions which-key-mode
:config (which-key-mode +1)) :config (which-key-mode +1))
@ -762,9 +739,8 @@ Configure email with iCalendar event support, to integrate with
cleanup cleanup
auto-cleanup))) auto-cleanup)))
(add-to-list 'package-selected-packages 'diff-hl)
(use-package diff-hl (use-package diff-hl
:if (package-installed-p 'diff-hl) :straight t
:functions (diff-hl-magit-pre-refresh :functions (diff-hl-magit-pre-refresh
diff-hl-magit-post-refresh diff-hl-magit-post-refresh
global-diff-hl-mode) global-diff-hl-mode)
@ -790,9 +766,8 @@ Configure email with iCalendar event support, to integrate with
:custom :custom
(ediff-window-setup-function #'ediff-setup-windows-plain)) (ediff-window-setup-function #'ediff-setup-windows-plain))
(add-to-list 'package-selected-packages 'emms)
(use-package emms (use-package emms
:if (package-installed-p 'emms) :straight t
:defines (emms-browser-mode-map :defines (emms-browser-mode-map
emms-playlist-mode-map) emms-playlist-mode-map)
:functions (emms-all :functions (emms-all
@ -831,7 +806,7 @@ Configure email with iCalendar event support, to integrate with
(add-hook 'emms-player-started-hook #'emms-show)) (add-hook 'emms-player-started-hook #'emms-show))
(use-package org (use-package org
:demand :straight (:type built-in)
:defines org-mode-map :defines org-mode-map
:hook ((org-mode . turn-on-auto-fill)) :hook ((org-mode . turn-on-auto-fill))
:bind ( :map org-mode-map :bind ( :map org-mode-map
@ -885,7 +860,7 @@ Configure email with iCalendar event support, to integrate with
(use-package org-indent (use-package org-indent
:after org :after org
:hook org-mode) :hook (org-mode . org-indent-mode))
(use-package org-attach (use-package org-attach
:after org :after org
@ -939,9 +914,8 @@ Configure email with iCalendar event support, to integrate with
(when (or (package-installed-p 'emacsql-sqlite) (when (or (package-installed-p 'emacsql-sqlite)
(package-installed-p 'emacsql-sqlite-builtin)) (package-installed-p 'emacsql-sqlite-builtin))
(add-to-list 'package-selected-packages 'org-roam)
(use-package org-roam (use-package org-roam
:if (package-installed-p 'org-roam) :straight (:inherit t :commit "69116a4da49448e79ac03aedceeecd9f5ae9b2d4") ;v2.2.2
:after org :after org
:defines org-roam-directory :defines org-roam-directory
:functions org-roam-db-autosync-mode :functions org-roam-db-autosync-mode
@ -1031,7 +1005,7 @@ Configure email with iCalendar event support, to integrate with
(org-icalendar-combined-description "Emacs org-mode combined export")) (org-icalendar-combined-description "Emacs org-mode combined export"))
(use-package org-noter (use-package org-noter
:if (package-installed-p 'org-noter) :straight t
:disabled t :disabled t
:after (org doc-view citar) :after (org doc-view citar)
:commands org-noter :commands org-noter
@ -1046,9 +1020,8 @@ Configure email with iCalendar event support, to integrate with
(car citar-notes-paths))) (car citar-notes-paths)))
(org-noter-prefer-root-as-file-level nil)) (org-noter-prefer-root-as-file-level nil))
(add-to-list 'package-selected-packages 'citar)
(use-package citar (use-package citar
:if (package-installed-p 'citar) :straight t
:defines (citar-bibliography :defines (citar-bibliography
citar-indicators) citar-indicators)
:functions (citar-indicator-create :functions (citar-indicator-create
@ -1056,9 +1029,7 @@ Configure email with iCalendar event support, to integrate with
citar-has-links citar-has-links
citar-has-notes citar-has-notes
citar-is-cited) citar-is-cited)
:hook :hook ((org-mode LaTeX-mode) . citar-capf-setup)
(LaTeX-mode . citar-capf-setup)
(org-mode . citar-capf-setup)
:custom :custom
(citar-bibliography (citar-bibliography
(list (list
@ -1109,19 +1080,15 @@ Configure email with iCalendar event support, to integrate with
(setq org-latex-compiler "lualatex") (setq org-latex-compiler "lualatex")
(setq org-preview-latex-default-process 'dvisvgm) (setq org-preview-latex-default-process 'dvisvgm)
(add-to-list 'package-selected-packages 'vertico)
(use-package vertico (use-package vertico
:if (package-installed-p 'vertico) :straight t
:functions vertico-mode :functions vertico-mode
:hook (after-init . (lambda () (vertico-mode +1))) :hook (after-init . (lambda () (vertico-mode +1)))
:custom :custom
(vertico-cycle t) (vertico-cycle t))
:config
(require 'vertico-directory))
(add-to-list 'package-selected-packages 'marginalia)
(use-package marginalia (use-package marginalia
:if (package-installed-p 'marginalia) :straight t
:functions marginalia-mode :functions marginalia-mode
:hook (after-init . (lambda () (marginalia-mode +1))) :hook (after-init . (lambda () (marginalia-mode +1)))
:custom :custom
@ -1130,9 +1097,8 @@ Configure email with iCalendar event support, to integrate with
nil)) nil))
:config (marginalia-mode +1)) :config (marginalia-mode +1))
(add-to-list 'package-selected-packages 'orderless)
(use-package orderless (use-package orderless
:if (package-installed-p 'orderless) :straight t
:custom :custom
(completion-styles '(orderless basic)) (completion-styles '(orderless basic))
(completion-category-defaults nil) (completion-category-defaults nil)
@ -1140,11 +1106,8 @@ Configure email with iCalendar event support, to integrate with
(eglot (styles orderless)) (eglot (styles orderless))
(eglot-capf (styles orderless))))) (eglot-capf (styles orderless)))))
(add-to-list 'package-selected-packages 'corfu)
(add-to-list 'package-selected-packages 'corfu-terminal)
(use-package corfu (use-package corfu
:if (package-installed-p 'corfu) :straight t
:defines (corfu-map :defines (corfu-map
corfu-mode-map corfu-mode-map
corfu-margin-formatters) corfu-margin-formatters)
@ -1193,13 +1156,12 @@ Configure email with iCalendar event support, to integrate with
(corfu-popupinfo-delay 0.3)) (corfu-popupinfo-delay 0.3))
(use-package corfu-terminal (use-package corfu-terminal
:if (package-installed-p 'corfu-terminal) :straight t
:after corfu :after corfu
:functions corfu-terminal-mode) :functions corfu-terminal-mode)
(add-to-list 'package-selected-packages 'cape)
(use-package cape (use-package cape
:if (package-installed-p 'cape) :straight t
:after corfu :after corfu
:functions (cape-emoji :functions (cape-emoji
cape-file cape-file
@ -1212,11 +1174,9 @@ Configure email with iCalendar event support, to integrate with
:custom :custom
(cape-dabbrev-min-length (+ corfu-auto-prefix 1))) (cape-dabbrev-min-length (+ corfu-auto-prefix 1)))
(add-to-list 'package-selected-packages 'consult)
(add-to-list 'package-selected-packages 'consult-eglot)
(use-package consult (use-package consult
:if (package-installed-p 'consult) :straight t
:functions (consult-org-heading :functions (consult-org-heading
consult-history) consult-history)
:bind (("<remap> <imenu>" . consult-imenu) :bind (("<remap> <imenu>" . consult-imenu)
@ -1234,13 +1194,12 @@ Configure email with iCalendar event support, to integrate with
("<remap> <comint-history-isearch-backward-regexp>" . consult-history))) ("<remap> <comint-history-isearch-backward-regexp>" . consult-history)))
(use-package consult-eglot (use-package consult-eglot
:if (package-installed-p 'consult-eglot) :straight t
:after (consult eglot) :after (consult eglot)
:bind (("C-c s s" . consult-eglot-symbols))) :bind (("C-c s s" . consult-eglot-symbols)))
(add-to-list 'package-selected-packages 'tempel)
(use-package tempel (use-package tempel
:if (package-installed-p 'tempel) :straight t
:defines tempel-path :defines tempel-path
:functions (tempel-expand :functions (tempel-expand
tempel-abbrev-mode) tempel-abbrev-mode)
@ -1270,14 +1229,12 @@ Configure email with iCalendar event support, to integrate with
;; :html-head "<link rel=\"stylesheet\" type=\"text/css\" href=\"css/style.css\"/>" ;; :html-head "<link rel=\"stylesheet\" type=\"text/css\" href=\"css/style.css\"/>"
))) )))
(add-to-list 'package-selected-packages 'rainbow-delimiters)
(use-package rainbow-delimiters (use-package rainbow-delimiters
:if (package-installed-p 'rainbow-delimiters) :straight t
:hook (prog-mode)) :hook (after-init . rainbow-delimiters-mode))
(add-to-list 'package-selected-packages 'envrc)
(use-package envrc (use-package envrc
:if (package-installed-p 'envrc) :straight t
:hook (after-init . envrc-global-mode) :hook (after-init . envrc-global-mode)
:custom :custom
(envrc-show-summary-in-minibuffer t)) (envrc-show-summary-in-minibuffer t))
@ -1292,9 +1249,8 @@ Configure email with iCalendar event support, to integrate with
:custom :custom
(treesit-font-lock-level 3)) (treesit-font-lock-level 3))
(add-to-list 'package-selected-packages 'treesit-auto)
(use-package treesit-auto (use-package treesit-auto
:if (package-installed-p 'treesit-auto) :straight t
:after treesit :after treesit
:functions (treesit-auto-add-to-auto-mode-alist :functions (treesit-auto-add-to-auto-mode-alist
global-treesit-auto-mode) global-treesit-auto-mode)
@ -1366,13 +1322,12 @@ Configure email with iCalendar event support, to integrate with
:yapf (:enabled nil))))) :yapf (:enabled nil)))))
) )
(add-to-list 'package-selected-packages 'apheleia)
(use-package apheleia (use-package apheleia
:if (package-installed-p 'apheleia) :straight t
:defines (apheleia-formatters :defines (apheleia-formatters
apheleia-mode-alist) apheleia-mode-alist)
:bind (("C-c c f" . apheleia-format-buffer)) :bind (("C-c c f" . apheleia-format-buffer))
:hook (prog-mode) :hook (prog-mode . apheleia-mode)
:custom (apheleia-remote-algorithm 'cancel) :custom (apheleia-remote-algorithm 'cancel)
:config :config
(add-to-list 'apheleia-mode-alist '(python-ts-mode . (ruff ruff-isort))) (add-to-list 'apheleia-mode-alist '(python-ts-mode . (ruff ruff-isort)))
@ -1386,34 +1341,30 @@ Configure email with iCalendar event support, to integrate with
(flymake-no-changes-timeout 1) (flymake-no-changes-timeout 1)
(flymake-show-diagnostics-at-end-of-line 'short)) (flymake-show-diagnostics-at-end-of-line 'short))
(add-to-list 'package-selected-packages 'flymake-yamllint)
(add-to-list 'package-selected-packages 'flymake-eslint)
(use-package flymake-shellcheck (use-package flymake-shellcheck
:if (package-installed-p 'flymake-shellcheck) :straight t
:disabled t
:functions flymake-shellcheck-load :functions flymake-shellcheck-load
:after flymake :after flymake
:hook (sh-mode . (lambda () (if (executable-find "shellcheck" t) :hook (sh-mode . (lambda () (if (executable-find "shellcheck" t)
(flymake-shellcheck-load))))) (flymake-shellcheck-load)))))
(use-package flymake-yamllint (use-package flymake-yamllint
:if (package-installed-p 'flymake-yamllint) :straight t
:functions flymake-yamllint-setup :functions flymake-yamllint-setup
:after flymake :after flymake
:hook (yaml-ts-mode . (lambda () (if (executable-find "yamllint" t) :hook (yaml-ts-mode . (lambda () (if (executable-find "yamllint" t)
(flymake-yamllint-setup))))) (flymake-yamllint-setup)))))
(use-package flymake-clippy (use-package flymake-clippy
:if (package-installed-p 'flymake-clippy) :straight t
:disabled t
:functions flymake-clippy-setup-backend :functions flymake-clippy-setup-backend
:after flymake :after flymake
:hook (rust-mode . (lambda () (if (executable-find "clippy" t) :hook (rust-mode . (lambda () (if (executable-find "clippy" t)
(flymake-clippy-setup-backend))))) (flymake-clippy-setup-backend)))))
(use-package flymake-eslint (use-package flymake-eslint
:if (package-installed-p 'flymake-eslint) :straight t
:functions flymake-eslint-enable :functions flymake-eslint-enable
:after flymake :after flymake
:hook ((js-base-mode typescript-ts-base-mode) . (lambda () (if (executable-find "eslint" t) :hook ((js-base-mode typescript-ts-base-mode) . (lambda () (if (executable-find "eslint" t)
@ -1442,9 +1393,8 @@ Configure email with iCalendar event support, to integrate with
(project-remember-projects-under "~/Projects" t) (project-remember-projects-under "~/Projects" t)
)) ))
(add-to-list 'package-selected-packages 'magit)
(use-package magit (use-package magit
:if (package-installed-p 'magit) :straight t
:bind (("C-c g g" . magit-status) :bind (("C-c g g" . magit-status)
("C-c g d" . magit-dispatch) ("C-c g d" . magit-dispatch)
("C-c g f" . magit-file-dispatch) ("C-c g f" . magit-file-dispatch)
@ -1470,15 +1420,13 @@ Configure email with iCalendar event support, to integrate with
(when (or (package-installed-p 'emacsql-sqlite) (when (or (package-installed-p 'emacsql-sqlite)
(package-installed-p 'emacsql-sqlite-builtin)) (package-installed-p 'emacsql-sqlite-builtin))
(add-to-list 'package-selected-packages 'forge)
(use-package forge (use-package forge
:if (package-installed-p 'forge) :straight t
:defer t)) :defer t))
(when (executable-find "nix") (when (executable-find "nix")
(add-to-list 'package-selected-packages 'nix-mode)
(use-package nix-mode (use-package nix-mode
:if (package-installed-p 'nix-mode) :straight t
:mode "\\.nix\\'" :mode "\\.nix\\'"
:functions nix-prettify-global-mode :functions nix-prettify-global-mode
:config :config
@ -1488,9 +1436,8 @@ Configure email with iCalendar event support, to integrate with
(require 'nix-store) (require 'nix-store)
(nix-prettify-global-mode +1))) (nix-prettify-global-mode +1)))
(add-to-list 'package-selected-packages 'lua-mode)
(use-package lua-mode (use-package lua-mode
:if (package-installed-p 'lua-mode) :straight t
:mode "\\.lua\\'") :mode "\\.lua\\'")
(defun my/enable-fill-column (col) (defun my/enable-fill-column (col)
@ -1520,9 +1467,8 @@ Configure email with iCalendar event support, to integrate with
(setq python-ts-mode-hook python-mode-hook)) (setq python-ts-mode-hook python-mode-hook))
(use-package python-docstring (use-package python-docstring
:if (package-installed-p 'python-docstring) :straight t
:disabled t :hook (python-base-mode . python-docstring-mode))
:hook python-base-mode)
(use-package files (use-package files
:custom :custom
@ -1558,11 +1504,9 @@ Configure email with iCalendar event support, to integrate with
(doc-view-scale-internally t) (doc-view-scale-internally t)
(doc-view-image-width 850)) (doc-view-image-width 850))
(add-to-list 'package-selected-packages 'markdown-mode)
(use-package markdown-mode (use-package markdown-mode
:if (package-installed-p 'markdown-mode) :straight t
:hook :hook ((markdown-mode . turn-on-auto-fill))
((markdown-mode . turn-on-auto-fill))
:custom :custom
(markdown-enable-math t) (markdown-enable-math t)
(markdown-enable-html t) (markdown-enable-html t)
@ -1573,15 +1517,13 @@ Configure email with iCalendar event support, to integrate with
(set-face-attribute 'markdown-blockquote-face nil :inherit 'variable-pitch) (set-face-attribute 'markdown-blockquote-face nil :inherit 'variable-pitch)
(set-face-attribute 'markdown-comment-face nil :inherit 'variable-pitch)) (set-face-attribute 'markdown-comment-face nil :inherit 'variable-pitch))
(add-to-list 'package-selected-packages 'pandoc-mode)
(use-package pandoc-mode (use-package pandoc-mode
:if (package-installed-p 'pandoc-mode) :straight t
:after (markdown-mode) :after (markdown-mode)
:hook (markdown-mode . conditionally-turn-on-pandoc)) :hook (markdown-mode . conditionally-turn-on-pandoc))
(add-to-list 'package-selected-packages 'bbdb)
(use-package bbdb (use-package bbdb
:if (package-installed-p 'bbdb) :straight t
:bind (("M-g b" . bbdb-display-all-records)) :bind (("M-g b" . bbdb-display-all-records))
:custom :custom
(bbdb-file (locate-user-emacs-file "bbdb.gpg"))) (bbdb-file (locate-user-emacs-file "bbdb.gpg")))
@ -1621,15 +1563,13 @@ Configure email with iCalendar event support, to integrate with
(eww-auto-rename-buffer 'title) (eww-auto-rename-buffer 'title)
(eww-browse-url-new-window-is-tab nil)) (eww-browse-url-new-window-is-tab nil))
(add-to-list 'package-selected-packages 'password-store)
(use-package password-store (use-package password-store
:if (package-installed-p 'password-store) :straight t
:defer t :defer t
:functions password-store-get) :functions password-store-get)
(add-to-list 'package-selected-packages 'scad-mode)
(use-package scad-mode (use-package scad-mode
:if (package-installed-p 'scad-mode) :straight t
:defer t) :defer t)
;; Scratch buffer shortcut ;; Scratch buffer shortcut

1
early-init.el Normal file
View file

@ -0,0 +1 @@
(setq package-enable-at-startup nil)

View file

@ -0,0 +1,79 @@
(("all-the-icons-completion" . "4c8bcad8033f5d0868ce82ea3807c6cd46c4a198")
("all-the-icons-dired" . "e157f0668f22ed586aebe0a2c0186ab07702986c")
("all-the-icons-ibuffer" . "280c99bb32dae3f0c43e97756d495beaf4554460")
("all-the-icons.el" . "39ef44f810c34e8900978788467cc675870bcd19")
("apheleia" . "3e347cff47eb0072b47c56f6188c4f440e477770")
("base16-emacs" . "8789114e45d09d114e0e197cb090ce7beb993901")
("bbdb" . "53e8ba04c47b3542db75b68f9663941daf2e6ca4")
("cape" . "5c468d6d657e8dc604ddf3feb80f70e1e05ac0a1")
("citar" . "07d2a63c99fe35cbd468f8e6a322de05f1a29469")
("citeproc-el" . "54184baaff555b5c7993d566d75dd04ed485b5c0")
("closql" . "06efb5a37ee4a1169a82ba754fc1fa09a89cb273")
("compat" . "99d74e635b76c3fa0b8403391e9d2efbd29f9901")
("consult" . "4889458dccf842ab6223099f8a73ff8b147e9459")
("consult-eglot" . "64262e72452f8fe6dd49d31bcdd4bd577b7d682d")
("corfu" . "5e3a959766d2313651c5db3beedd937bfc27b57a")
("corfu-terminal" . "501548c3d51f926c687e8cd838c5865ec45d03cc")
("dash.el" . "1de9dcb83eacfb162b6d9a118a4770b1281bcd84")
("diff-hl" . "b80ff9b4a772f7ea000e86fbf88175104ddf9557")
("doom-modeline" . "9920ef511620e9fa5599cb357e48487f758b1bb1")
("eglot" . "e17426e09542a3cc35191448c7e6666afdd13e58")
("el-get" . "c0713e8d8e8ad987fe1283d76b9c637a10f048ef")
("eldoc" . "91a8ae2fa66ac09f45337f9eca6c7aa643a063f4")
("emacs-scad-mode" . "17a8158cc55fed473aa87d53f3f2b42e1c249d11")
("emacs-which-key" . "38d4308d1143b61e4004b6e7a940686784e51500")
("emacsmirror-mirror" . "b1e50f90d305c20752237dbf764920c656a2124e")
("emacsql" . "32f086e6e1aca48120b71fec2437b4c8b21b29fd")
("emms" . "b5567be2176dcbdf42aa2d0ccad32a44f245dd09")
("envrc" . "532ecdab48d073963ba5b581c06f3c0b83db05a6")
("external-completion" . "69f06e1eff72df60bb10153169edc859f27f58f2")
("f.el" . "1e7020dc0d4c52d3da9bd610d431cab13aa02d8c")
("flymake" . "c772251c9aaec34094fd4c5347d4e5f16647847b")
("flymake-clippy" . "713b7e873d6b30dc0ded75d5d890d6847f2ea093")
("flymake-eslint" . "6ab909b85a8e97815db9831cdd5f283a7830177f")
("flymake-shellcheck" . "d55666f55e126f0e861f7e886202c17c6a1cf8f3")
("flymake-yamllint" . "020d2a33568c8069801db9dd6992b8961a58de8d")
("flyspell-correct" . "1e7a5a56362dd875dddf848b9a9e25d1395b9d37")
("forge" . "efbebd4b5ed556acef0fa369348b8ae932935f1c")
("ghub" . "772c3352307a86f40fc1519fe868a4a14ceb8d39")
("gnu-elpa-mirror" . "3d0759ef4792b6461f2979a4e70e1c819df7283a")
("hydra" . "317e1de33086637579a7aeb60f77ed0405bf359b")
("inheritenv" . "bac62ca6324828623cf8ce5a3d6aee0fcb65d620")
("jsonrpc" . "cd597b048e2a380c5f4ebfa3bbab90848275a294")
("let-alist" . "4e05e158612f360f6080b1349d3962b1c8fee902")
("ligature.el" . "6ac1634612dbd42f7eb81ecaf022bd239aabb954")
("lua-mode" . "d074e4134b1beae9ed4c9b512af741ca0d852ba3")
("magit" . "27f81d6e5cdcc7ddfb0d4a33f6566ef98a0faaa5")
("marginalia" . "7a7f3363d042d1bf43ae697f4401638ed18230a5")
("markdown-mode" . "8a7773f87733866a961ea4c518a4a2f283f21970")
("melpa" . "c13d67c87248b9af8f9d6265a8626a330f9d478c")
("nerd-icons-corfu" . "7077bb76fefc15aed967476406a19dc5c2500b3c")
("nerd-icons.el" . "dcfc64152ada7514bcdd1c6ce45590c359445ec6")
("nix-mode" . "719feb7868fb567ecfe5578f6119892c771ac5e5")
("nongnu-elpa" . "f031337c6ee125455a98e2de899a563388e5de19")
("orderless" . "49d1fdfb80b55699a00b11bc916ad29c0447039b")
("org-roam" . "0b9fcbc97b65b349826e63bad89ca121a08fd2be")
("pandoc-mode" . "18214fc2df357b50e62c79993aac4ff0cf1d9499")
("parsebib" . "ace9df707108b17759c004c7387655277122d4c1")
("password-store" . "b5e965a838bb68c1227caa2cdd874ba496f10149")
("popon" . "bf8174cb7e6e8fe0fe91afe6b01b6562c4dc39da")
("project" . "c0fb3da8b90735fb280ab157f4a8033b42105125")
("python-docstring-mode" . "48e6489ec2db8b4959a9f591910941c2a5f132a3")
("queue" . "8df1334d54d4735d2f821790422a850dfaaa08ef")
("rainbow-delimiters" . "f40ece58df8b2f0fb6c8576b527755a552a5e763")
("s.el" . "dda84d38fffdaf0c9b12837b504b402af910d01d")
("seq" . "da86da9bf111f68fb81efd466d76d53af5aebc00")
("shrink-path.el" . "c14882c8599aec79a6e8ef2d06454254bb3e1e41")
("straight.el" . "88e574ae75344e39b436f863ef0344135c7b6517")
("string-inflection" . "50ad54970b3cc79b6b83979bde9889ad9a9e1a9c")
("tempel" . "317c0e41d542721db11a7a8a1c6b78762959259b")
("track-changes" . "fa984c7d5a67b60bad4240e15a6d0d9d1896b07d")
("transient" . "b2cb4e578f2362a0354c4a31a6bd89d6c4b63d63")
("treepy.el" . "75fe3ec37e6f9b2bdfd6d0584efd984d0c00a43e")
("treesit-auto" . "016bd286a1ba4628f833a626f8b9d497882ecdf3")
("use-package" . "a6e856418d2ebd053b34e0ab2fda328abeba731c")
("vertico" . "d70fdeb67be9ecc88c438039eefa9ef0e2104005")
("with-editor" . "78c303a0181f2132e2254f965176b549044d74f2")
("xref" . "53c4abbc26febcd45be79dea43b7dc56d12112de")
("yaml.el" . "70c4fcead97e9bd6594e418c922ae769818f4245"))
:gamma