Switch everything to try using elpaca. Will probably break deployments.

This commit is contained in:
MitchMarq42 2022-08-24 19:28:10 -08:00
parent cc01564a22
commit db26edaf4d

View File

@ -16,17 +16,11 @@ NAME and ARGS are in `use-package'."
:ensure nil :ensure nil
,@args))) ,@args)))
;; diminish ;; diminish
(use-package diminish (elpaca-use-package diminish)
;; :straight (:type built-in)
)
(use-feature eldoc (use-feature eldoc
:straight (:type built-in) :straight (:type built-in)
:diminish :diminish
:defer 1 :defer 1
(use-package tramp
:straight (:type built-in)
:custom (tramp-mode nil))
(use-package savehist
:custom (eldoc-echo-area-use-multiline-p nil) :custom (eldoc-echo-area-use-multiline-p nil)
:config :config
;; eldoc for 日本語 -- taken from https://cce.whatthefuck.computer/japanese-study ;; eldoc for 日本語 -- taken from https://cce.whatthefuck.computer/japanese-study
@ -35,9 +29,10 @@ NAME and ARGS are in `use-package'."
(get-char-code-property (string-to-char (thing-at-point 'char)) 'name))) (get-char-code-property (string-to-char (thing-at-point 'char)) 'name)))
(add-hook 'eldoc-documentation-functions (add-hook 'eldoc-documentation-functions
#'eldoc-jhk)) #'eldoc-jhk))
(use-feature savehist
:straight (:type built-in) :straight (:type built-in)
:init (savehist-mode)) :init (savehist-mode))
(use-package whitespace (use-feature whitespace
:straight (:type built-in) :straight (:type built-in)
:defer 1 :defer 1
:diminish whitespace-mode :diminish whitespace-mode
@ -79,7 +74,7 @@ This is taken from a website that I can't remember at the moment."
:straight (:type built-in) :straight (:type built-in)
:commands ibuffer :commands ibuffer
:custom (ibuffer-use-other-window t)) :custom (ibuffer-use-other-window t))
(use-package image-mode (use-feature image-mode
:straight (:type built-in) :straight (:type built-in)
:config :config
(turn-off-line-numbers) (turn-off-line-numbers)
@ -92,11 +87,13 @@ This is taken from a website that I can't remember at the moment."
:config (global-auto-revert-mode)) :config (global-auto-revert-mode))
;; Keybinding manager ;; Keybinding manager
(use-package general (use-feature general
:straight t
:config (mitch/general-config)) :config (mitch/general-config))
;; load evil ;; load evil
(use-package evil (use-feature evil
:straight t
:general :general
(general-define-key (general-define-key
:states 'normal :states 'normal
@ -123,68 +120,48 @@ This is taken from a website that I can't remember at the moment."
(quote undo-fu))) (quote undo-fu)))
:init :init
(evil-mode t)) (evil-mode t))
(use-package evil-collection (use-feature evil-collection
:straight t
:after evil :after evil
:diminish evil-collection-unimpaired-mode :diminish evil-collection-unimpaired-mode
:config (evil-collection-init)) :config (evil-collection-init))
(use-package evil-commentary (use-feature evil-commentary
:straight t
:diminish 'evil-commentary-mode :diminish 'evil-commentary-mode
:config (evil-commentary-mode) :config (evil-commentary-mode)
:hook (prog-mode . evil-commentary-mode)) :hook (prog-mode . evil-commentary-mode))
(use-package evil-surround (use-feature evil-surround
:straight t
:diminish 'global-evil-surround-mode :diminish 'global-evil-surround-mode
:hook (prog-mode . evil-surround-mode) :hook (prog-mode . evil-surround-mode)
:config (global-evil-surround-mode 1)) :config (global-evil-surround-mode 1))
(use-package evil-terminal-cursor-changer (use-feature evil-terminal-cursor-changer
:straight t
:after evil :after evil
:diminish :diminish
:if (not (display-graphic-p)) :if (not (display-graphic-p))
:config :config
(evil-terminal-cursor-changer-activate) (evil-terminal-cursor-changer-activate)
(xterm-mouse-mode)) (xterm-mouse-mode))
(use-package undo-fu (use-feature undo-fu
:after evil :after evil
:if (< (string-to-number emacs-version) 28) :if (< (string-to-number emacs-version) 28)
:diminish) :diminish)
(use-package all-the-icons) (use-feature all-the-icons)
(use-package dirvish (elpaca-use-package dirvish
:straight (:files (:defaults "extensions/*.el")) :straight (:files (:defaults "extensions/*.el"))
:commands 'dirvish :defer 0.5
:commands dirvish
:custom :custom
(dirvish-attributes '(all-the-icons collapse)) (dirvish-attributes '(all-the-icons collapse))
(dirvish-cache-dir (expand-file-name ".dirvish/" user-emacs-directory)) (dirvish-cache-dir (expand-file-name ".dirvish/" user-emacs-directory))
:init (dirvish-override-dired-mode) (dired-listing-switches "-l --almost-all")
(defun convert-pdf-to-html (pdf) (dirvish-side-display-alist '((window-width . 0.15)
"Take PDF and convert it into a html file, which is returned.
Requires `mutool' to be installed and available in $PATH (it comes with MuPDF)."
(let ((html (file-name-with-extension pdf ".html")))
(shell-command (concat
(format
"mutool convert -F html -O preserve-images -o '%s' "
html) (format "'%s'" pdf))) html))
(defun view-pdf-in-webkit (pdf)
"View PDF in BUFFER by using `mutool'. This works by converting it to a
html file and viewing that file in `xwidget-webkit'. Requires `mutool' to be
installed and available in $PATH (it comes with MuPDF). Also requires Emacs to
be built with `xwidget' support."
(xwidget-webkit-browse-url
(format "file://%s" (convert-pdf-to-html pdf))))
(dirvish-define-preview pdf (file ext)
"Use `mupdf' and `xwidget-webkit' to generate pdf preview."
:require ("mutool")
(when (equal ext "pdf")
(if (featurep 'xwidget webkit)
(view-pdf-in-webkit file))))
(add-to-list 'dirvish-preview-dispatchers 'pdf)
(setq dired-listing-switches "-l --almost-all")
(setq dirvish-side-display-alist
'((window-width . 0.15)
(slot . -1) (slot . -1)
(side . left))) (side . left)))
:hook :init (dirvish-override-dired-mode t)
(dirvish-mode . turn-off-line-numbers) :config
:general
(general-define-key (general-define-key
:states 'normal :states 'normal
:keymaps 'dirvish-mode-map :keymaps 'dirvish-mode-map
@ -199,35 +176,23 @@ be built with `xwidget' support."
"t" 'dirvish-side)) "t" 'dirvish-side))
;; Completion framework... ;; Completion framework...
;; (use-package ivy (elpaca-use-package vertico
;; :diminish
;; :custom
;; (ivy-auto-shrink-minibuffer-alist '((t . t)))
;; :config (ivy-mode t)
;; :general
;; (general-define-key
;; :keymaps 'ivy-minibuffer-map
;; "TAB" 'ivy-alt-done))
;; (use-package counsel
;; :diminish
;; :config (counsel-mode))
(use-package vertico
:straight (:files (:defaults "extensions/vertico-mouse.el")) :straight (:files (:defaults "extensions/vertico-mouse.el"))
:custom (vertico-resize t) :custom (vertico-resize t)
:config (vertico-mode) :config (vertico-mode)
(add-hook 'minibuffer-setup-hook 'turn-off-line-numbers)) (add-hook 'minibuffer-setup-hook 'turn-off-line-numbers))
(use-package vertico-mouse (use-feature vertico-mouse
:straight vertico :straight vertico
:after vertico :after vertico
:config :config
(vertico-mouse-mode)) (vertico-mouse-mode))
(use-package consult (use-feature consult
:after vertico) :after vertico)
;; Minibuffer generic stuff ;; Minibuffer generic stuff
(use-package marginalia (use-feature marginalia
;; :custom (marginalia-separator " ") ;; :custom (marginalia-separator " ")
:init (marginalia-mode)) :init (marginalia-mode))
(use-package orderless (use-feature orderless
:custom :custom
(completion-styles '(orderless partial-completion basic)) (completion-styles '(orderless partial-completion basic))
(completion-category-defaults nil) (completion-category-defaults nil)
@ -235,7 +200,7 @@ be built with `xwidget' support."
(completion-category-overrides nil)) (completion-category-overrides nil))
;; weird multi-path thing ;; weird multi-path thing
(use-package embark (use-feature embark
:general :general
(general-define-key (general-define-key
:keymap minibuffer-mode-map :keymap minibuffer-mode-map
@ -275,11 +240,11 @@ targets."
:config :config
(setq enable-recursive-minibuffers t)) (setq enable-recursive-minibuffers t))
;; Consult users will also want the embark-consult package. ;; Consult users will also want the embark-consult package.
(use-package embark-consult (use-feature embark-consult
:after (embark consult)) :after (embark consult))
;; SORTA WORKING: Relative line numbers with stuff ;; SORTA WORKING: Relative line numbers with stuff
(use-package linum-relative (use-feature linum-relative
:diminish :diminish
:init :init
(require 'cl-lib) (require 'cl-lib)
@ -294,7 +259,7 @@ targets."
(+ 1 (floor (log symbol 10)))) (+ 1 (floor (log symbol 10))))
(defun mitch/linum-get-left-pad (symbol) (defun mitch/linum-get-left-pad (symbol)
"Get the number of spaces to add before the current relative line number." "Get the number of spaces to add before the current relative line number."
(let* ((symbol-width (mitch/symbol-width line-number))) (let* ((symbol-width (mitch/symbol-width symbol)))
(- display-line-numbers-width symbol-width))) (- display-line-numbers-width symbol-width)))
(defun mitch/right-pad (line-number) (defun mitch/right-pad (line-number)
"Pad the line number to the right." "Pad the line number to the right."
@ -332,7 +297,7 @@ targets."
;; (setq display-line-numbers-mode 'relative) ;; (setq display-line-numbers-mode 'relative)
;; broken terminal that doesn't compile but at least it's fast when it does ;; broken terminal that doesn't compile but at least it's fast when it does
(use-package vterm (use-feature vterm
:custom :custom
(vterm-always-compile-module t) (vterm-always-compile-module t)
(vterm-module-cmake-args "-DUSE_SYSTEM_LIBVTERM=no") (vterm-module-cmake-args "-DUSE_SYSTEM_LIBVTERM=no")
@ -370,7 +335,7 @@ targets."
:hook :hook
(vterm-mode . mitch/terminal-setup) (vterm-mode . mitch/terminal-setup)
(vterm-exit-functions . save-buffers-kill-terminal)) (vterm-exit-functions . save-buffers-kill-terminal))
(use-package multi-vterm (use-feature multi-vterm
:commands (multi-vterm multi-vterm-other-window) :commands (multi-vterm multi-vterm-other-window)
:config :config
(defun multi-vterm-other-window () (defun multi-vterm-other-window ()
@ -390,7 +355,7 @@ targets."
"v" 'multi-vterm-other-window)) "v" 'multi-vterm-other-window))
;; Better modeline? Better modeline. ;; Better modeline? Better modeline.
(use-package nyan-mode (use-feature nyan-mode
:after airline :after airline
:custom :custom
(nyan-cat-face [[""]]) (nyan-cat-face [[""]])
@ -398,13 +363,13 @@ targets."
:init (nyan-mode)) :init (nyan-mode))
;; (add-to-list 'mode-line-format (nyan-create) t) ;; (add-to-list 'mode-line-format (nyan-create) t)
;; (string-to-char "") ;; (string-to-char "")
(use-package powerline (use-feature powerline
:custom :custom
(powerline-display-buffer-size nil) (powerline-display-buffer-size nil)
(powerline-default-separator 'utf-8) (powerline-default-separator 'utf-8)
(powerline-utf-8-separator-left (string-to-char "")) (powerline-utf-8-separator-left (string-to-char ""))
(powerline-utf-8-separator-right (string-to-char ""))) (powerline-utf-8-separator-right (string-to-char "")))
(use-package airline-themes (use-feature airline-themes
:custom :custom
(airline-cursor-colors nil) (airline-cursor-colors nil)
(airline-display-directory t) (airline-display-directory t)
@ -444,7 +409,7 @@ targets."
;; Custom Theme. ;; Custom Theme.
;; Not to be confused with a color theme, or a color scheme, or a custom scheme. ;; Not to be confused with a color theme, or a color scheme, or a custom scheme.
(use-package autothemer (use-feature autothemer
:custom :custom
(window-divider-default-places t) (window-divider-default-places t)
(right-divider-width 5) (right-divider-width 5)
@ -466,7 +431,7 @@ targets."
;; :config (global-yascroll-bar-mode 1)) ;; :config (global-yascroll-bar-mode 1))
;; parentheses settingses ;; parentheses settingses
(use-package paredit (use-feature paredit
:defer 0.1 :defer 0.1
:general (general-define-key :general (general-define-key
:states 'normal :states 'normal
@ -482,7 +447,7 @@ targets."
(show-paren-style 'parenthesis)) (show-paren-style 'parenthesis))
;; org mode and messy things ;; org mode and messy things
(use-package org (use-feature org
:straight (:type built-in) :straight (:type built-in)
:mode (("\\.org$" . org-mode)) :mode (("\\.org$" . org-mode))
:diminish org-indent-mode :diminish org-indent-mode
@ -502,13 +467,13 @@ targets."
(add-to-list 'org-structure-template-alist '("el" . "src elisp")) (add-to-list 'org-structure-template-alist '("el" . "src elisp"))
(add-to-list 'org-structure-template-alist '("ps1" . "src powershell")) (add-to-list 'org-structure-template-alist '("ps1" . "src powershell"))
(add-to-list 'org-structure-template-alist '("html" . "src html"))) (add-to-list 'org-structure-template-alist '("html" . "src html")))
(use-package org-variable-pitch (use-feature org-variable-pitch
:if (display-graphic-p) :if (display-graphic-p)
:diminish (buffer-face-mode org-variable-pitch-minor-mode) :diminish (buffer-face-mode org-variable-pitch-minor-mode)
:config :config
(set-face-attribute 'org-meta-line nil :inherit '(font-lock-comment-delimiter-face fixed-pitch)) (set-face-attribute 'org-meta-line nil :inherit '(font-lock-comment-delimiter-face fixed-pitch))
:hook (org-mode . org-variable-pitch-minor-mode)) :hook (org-mode . org-variable-pitch-minor-mode))
(use-package org-contrib (use-feature org-contrib
:after org :after org
:config :config
(org-babel-do-load-languages (org-babel-do-load-languages
@ -521,41 +486,41 @@ targets."
;; :after org ;; :after org
;; :custom ;; :custom
;; (org-appear-autolinks t)) ;; (org-appear-autolinks t))
(use-package ob-powershell (use-feature ob-powershell
:after (org powershell) :after (org powershell)
:custom :custom
(ob-powershell-powershell-command "pwsh")) (ob-powershell-powershell-command "pwsh"))
(use-package company-org-block (use-feature company-org-block
:after (org company)) :after (org company))
(use-package ox-hugo (use-feature ox-hugo
:after ox) :after ox)
;; cheaty key popups ;; cheaty key popups
(use-package which-key (use-feature which-key
:diminish :diminish
:defer 5 :defer 5
:init (which-key-mode t)) :init (which-key-mode t))
;; parentheses are boring ;; parentheses are boring
(use-package rainbow-delimiters (use-feature rainbow-delimiters
:diminish :diminish
:defer 1 :defer 1
:hook (prog-mode . rainbow-delimiters-mode)) :hook (prog-mode . rainbow-delimiters-mode))
;; Hex colors ;; Hex colors
(use-package rainbow-mode (use-feature rainbow-mode
:diminish :diminish
:defer 10 :defer 10
:hook (prog-mode . rainbow-mode)) :hook (prog-mode . rainbow-mode))
;; Nobody loves a good language ;; Nobody loves a good language
(use-package powershell (use-feature powershell
:mode ("\\.ps1\\'" . powershell-mode)) :mode ("\\.ps1\\'" . powershell-mode))
(use-package cider (use-feature cider
:defer 1) :defer 1)
;; or a bad language ;; or a bad language
(use-package haskell-mode (use-feature haskell-mode
:mode "\\.hs\\'" :mode "\\.hs\\'"
;; :init ;; :init
;; (add-hook 'haskell-mode-hook 'haskell-decl-scan-mode) ;; (add-hook 'haskell-mode-hook 'haskell-decl-scan-mode)
@ -571,7 +536,7 @@ targets."
;; c sharp; taken from https://www.reddit.com/r/emacs/comments/k8tnzg/help_setting_up_c_lsp_omnisharproslyn/ ;; c sharp; taken from https://www.reddit.com/r/emacs/comments/k8tnzg/help_setting_up_c_lsp_omnisharproslyn/
;; '(there is nothing here because I'm not using c sharp...) ;; '(there is nothing here because I'm not using c sharp...)
(use-package lsp-mode (use-feature lsp-mode
:hook ((powershell-mode . lsp) :hook ((powershell-mode . lsp)
(lsp-mode . lsp-enable-which-key-integration) (lsp-mode . lsp-enable-which-key-integration)
(lsp-mode . lsp-ui-mode)) (lsp-mode . lsp-ui-mode))
@ -580,17 +545,17 @@ targets."
(lsp-completion-provider :none)) (lsp-completion-provider :none))
;; optionally ;; optionally
(use-package lsp-ui (use-feature lsp-ui
:after lsp :after lsp
:commands lsp-ui-mode) :commands lsp-ui-mode)
;; broken snippets I don't care about... ;; broken snippets I don't care about...
(use-package yasnippet (use-feature yasnippet
:diminish yas-minor-mode :diminish yas-minor-mode
:hook (prog-mode . yas-minor-mode)) :hook (prog-mode . yas-minor-mode))
;; Better help-pages. Genuinely pretty great. ;; Better help-pages. Genuinely pretty great.
(use-package helpful (use-feature helpful
:general (general-define-key :general (general-define-key
[remap describe-key] 'helpful-key [remap describe-key] 'helpful-key
[remap describe-variable] 'helpful-variable [remap describe-variable] 'helpful-variable
@ -606,25 +571,25 @@ targets."
:custom (elisp-refs-verbose nil)) :custom (elisp-refs-verbose nil))
;; Better lisp highlighting? ;; Better lisp highlighting?
(use-package highlight-defined (use-feature highlight-defined
:hook (emacs-lisp-mode . highlight-defined-mode)) :hook (emacs-lisp-mode . highlight-defined-mode))
;; Shell linting? ;; Shell linting?
(use-package flycheck (use-feature flycheck
:diminish :diminish
:hook (prog-mode . flycheck-mode) :hook (prog-mode . flycheck-mode)
;; :config (global-flycheck-mode t) ;; :config (global-flycheck-mode t)
) )
;; Emacs startup profiling ;; Emacs startup profiling
(use-package esup (use-feature esup
:commands esup) :commands esup)
;; Blingy file tree view ;; Blingy file tree view
;; '(I'm using dirvish instead, so no treemacs config here anymore.) ;; '(I'm using dirvish instead, so no treemacs config here anymore.)
;; Blingy laggy minimap on the right ;; Blingy laggy minimap on the right
(use-package minimap (use-feature minimap
:general (general-define-key :general (general-define-key
:states 'normal :states 'normal
:prefix-command 'mini-map-prefix :prefix-command 'mini-map-prefix
@ -661,7 +626,7 @@ targets."
;; (company-fuzzy-history-backends '(company-yasnippet)) ;; (company-fuzzy-history-backends '(company-yasnippet))
;; (company-fuzzy-trigger-symbols '("." "->" "<" "\"" "'" "@")) ;; (company-fuzzy-trigger-symbols '("." "->" "<" "\"" "'" "@"))
;; (company-fuzzy-passthrough-backends '(company-capf))) ;; (company-fuzzy-passthrough-backends '(company-capf)))
(use-package corfu (use-feature corfu
:custom :custom
(completion-cycle-threshold 3) (completion-cycle-threshold 3)
(tab-always-indent 'complete) (tab-always-indent 'complete)
@ -702,12 +667,12 @@ targets."
) )
) )
(use-package popon (use-feature popon
:straight :straight
(:type git (:type git
:repo "https://codeberg.org/akib/emacs-popon") :repo "https://codeberg.org/akib/emacs-popon")
:if (not (display-graphic-p))) :if (not (display-graphic-p)))
(use-package corfu-terminal (use-feature corfu-terminal
:straight :straight
(:type git (:type git
:repo "https://codeberg.org/akib/emacs-corfu-terminal") :repo "https://codeberg.org/akib/emacs-corfu-terminal")
@ -746,7 +711,7 @@ targets."
(use-package xwidget ;-webkit (use-feature xwidget ;-webkit
:straight (:type built-in) :straight (:type built-in)
:if (featurep 'xwidget-internal) :if (featurep 'xwidget-internal)
:commands xwidget-webkit-browse-url :commands xwidget-webkit-browse-url
@ -757,24 +722,24 @@ targets."
(scroll-bar-mode -1) (scroll-bar-mode -1)
))) )))
(use-package magit (use-feature magit
:commands magit :commands magit
:hook (magit-mode . turn-off-line-numbers)) :hook (magit-mode . turn-off-line-numbers))
(use-package hyperbole (use-feature hyperbole
:diminish :diminish
;; :init (hyperbole-mode) ;; :init (hyperbole-mode)
:general (general-define-key :general (general-define-key
:states 'normal :states 'normal
"RET" 'hkey-either)) "RET" 'hkey-either))
(use-package dconf-mode (use-feature dconf-mode
:straight :straight
(:type git (:type git
:repo "https://git.mitchmarq42.xyz/mitch/dconf-mode.el")) :repo "https://git.mitchmarq42.xyz/mitch/dconf-mode.el"))
(use-package info-variable-pitch (use-feature info-variable-pitch
:straight :straight
(:type git :host github (:type git :host github
:repo "kisaragi-hiu/info-variable-pitch") :repo "kisaragi-hiu/info-variable-pitch")
@ -783,7 +748,7 @@ targets."
;; (use-package empv ;; (use-package empv
;; :straight ;; :straight
;; (:type git :host github ;; ;; (:type git :host github
;; :repo "isamert/empv.el")) ;; :repo "isamert/empv.el"))
;; (use-package exwm ;; (use-package exwm
@ -791,11 +756,11 @@ targets."
;; ;; (require 'exwm-config) ;; ;; (require 'exwm-config)
;; ;; (exwm-config-example) ;; ;; (exwm-config-example)
;; ) ;; )
(use-package ani-el (use-feature ani-el
:straight (:type git :repo "https://git.mitchmarq42.xyz/mitch/ani-el" :straight (:type git :repo "https://git.mitchmarq42.xyz/mitch/ani-el"
:files ("ani-el.el" "lib"))) :files ("ani-el.el" "lib")))
(use-package slime (use-feature slime
:if (file-exists-p (expand-file-name "~/quicklisp/slime-helper.el")) :if (file-exists-p (expand-file-name "~/quicklisp/slime-helper.el"))
:custom (inferior-lisp-program "sbcl") :custom (inferior-lisp-program "sbcl")
:init (load (expand-file-name "~/quicklisp/slime-helper.el"))) :init (load (expand-file-name "~/quicklisp/slime-helper.el")))
@ -804,15 +769,23 @@ targets."
;; :config (add-hook 'pdf-view-mode-hook 'turn-off-line-numbers)) ;; :config (add-hook 'pdf-view-mode-hook 'turn-off-line-numbers))
;; built in spell checker, for losers ;; built in spell checker, for losers
(use-package flyspell (use-feature flyspell
:straight (:type built-in) :straight (:type built-in)
:custom :custom
(flyspell-auto-correct-word t) (flyspell-auto-correct-word t)
:hook :hook
(org-mode . flyspell-mode)) (org-mode . flyspell-mode))
(use-package clojure-mode) ;; Java never looked so useful...
(use-package inf-clojure) (use-feature clojure-mode)
(use-feature inf-clojure)
;; Let's pretend we're nevoim for a moment
(use-feature tree-sitter
:config
(global-tree-sitter-mode)
(add-hook 'tree-sitter-after-on-hook #'tree-sitter-hl-mode))
(use-feature tree-sitter-langs)
(provide 'mitch-packages) (provide 'mitch-packages)
;;; mitch-packages.el ends here ;;; mitch-packages.el ends here