From 1db6dceaf0369723d67b9743c5d675d07b6931ca Mon Sep 17 00:00:00 2001 From: MitchMarq42 Date: Thu, 23 Feb 2023 12:50:19 -0900 Subject: [PATCH] Elpaca use-package kewyword rework --- init.el | 8 +- lisp/mitch-packages.el | 393 ++++++++++++++++++++++++----------------- 2 files changed, 238 insertions(+), 163 deletions(-) diff --git a/init.el b/init.el index 4a0025c..ca7d533 100644 --- a/init.el +++ b/init.el @@ -58,9 +58,11 @@ ;; (defvar bootstrap-version) (let ((bootstrap-file (expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory)) (bootstrap-version 5)) (unless (file-exists-p bootstrap-file) (with-current-buffer (url-retrieve-synchronously "https://raw.githubusercontent.com/radian-software/straight.el/develop/install.el" 'silent 'inhibit-cookies) (goto-char (point-max)) (eval-print-last-sexp))) (load bootstrap-file nil 'nomessage)) (straight-use-package 'use-package) (setq straight-use-package-by-default t) ;; actually, use elpaca instead -(require 'elpaca-bootstrap) (elpaca use-package (require 'use-package) - (elpaca-use-package-mode) - (setq elpaca-use-package-by-default t)) +(require 'elpaca-bootstrap) +(elpaca elpaca-use-package + (elpaca-use-package-mode) + (setq elpaca-use-package-by-default t)) +(elpaca-wait) (require 'mitch-packages) diff --git a/lisp/mitch-packages.el b/lisp/mitch-packages.el index 0519f1a..6a5ae18 100644 --- a/lisp/mitch-packages.el +++ b/lisp/mitch-packages.el @@ -6,44 +6,44 @@ ;; ----------------------------------------------------------------------------- ;;; Code: -(elpaca nil - (use-package emacs - :custom - (scroll-margin 2) - (scroll-conservatively 100) - (scroll-up-aggressively 0.01) - (scroll-down-aggressively 0.01) - (auto-window-vscroll nil) - :init - (global-visual-line-mode t) - (set-language-environment "UTF-8") - (global-prettify-symbols-mode 1))) +(use-package emacs + :elpaca nil + :custom + (scroll-margin 2) + (scroll-conservatively 100) + (scroll-up-aggressively 0.01) + (scroll-down-aggressively 0.01) + (auto-window-vscroll nil) + :init + (global-visual-line-mode t) + (set-language-environment "UTF-8") + (global-prettify-symbols-mode 1)) ;; diminish -(elpaca-use-package diminish) -(elpaca-use-package compat) -(elpaca-use-package eldoc - :ensure nil +(use-package diminish) +(use-package compat) +(use-package eldoc + :elpaca nil :diminish :defer 1 :custom (eldoc-echo-area-use-multiline-p nil)) ;; save minibuffer history, see Vertico below -(elpaca-use-package savehist - :ensure nil +(use-package savehist + :elpaca nil :init (savehist-mode) :custom (savehist-file (expand-file-name "minibuffer-history" backup-directory))) ;; save place in all files -(elpaca-use-package saveplace - :ensure nil +(use-package saveplace + :elpaca nil :init (save-place-mode t) :custom (save-place-file (expand-file-name "file-position-save" backup-directory))) -(elpaca-use-package tramp - :ensure nil +(use-package tramp + :elpaca nil ;; :after eshell :custom (tramp-persistency-file-name (expand-file-name "tramp-history" backup-directory)) @@ -54,8 +54,8 @@ (find-alternate-file (concat "/sudo:root@localhost:" buffer-file-name)))) (advice-add #'find-file :after #'find-file-sudo)) ;; Visualize whitespace. In a very chill and invisible way. -(elpaca-use-package whitespace - :ensure nil +(use-package whitespace + :elpaca nil :diminish (whitespace-mode org-indent-mode org-vw-mode auto-fill-mode) :custom (whitespace-style '(face lines-tail)) @@ -64,14 +64,15 @@ :hook (prog-mode . whitespace-mode) (org-mode . auto-fill-mode)) -(elpaca-use-package image-mode - :ensure nil +(use-package image-mode + :elpaca nil :config (turn-off-line-numbers) (blink-cursor-mode -1)) ;; scribble SVGs in org buffers like it's 2005 (idk I was a baby then) -(elpaca-use-package (edraw +(use-package edraw + :elpaca (edraw :repo "https://github.com/misohena/el-easydraw") :after org :config @@ -79,20 +80,22 @@ (edraw-org-setup-default)) ;; ...and finally, sync files with disk changes -(elpaca-use-package autorevert - :ensure nil +(use-package autorevert + :elpaca nil :diminish auto-revert-mode :config (global-auto-revert-mode)) ;; Keybinding manager -(elpaca-use-package general +(use-package general + :demand t :custom (default-input-method "japanese") :config (mitch/general-config)) +(elpaca-wait) -;; (elpaca-use-package use-package-ensure-system-package) +;; (use-package use-package-ensure-system-package) ;; load evil -(elpaca-use-package evil +(use-package evil :general ;; Visual lines. Redefined for auto-scrolling madness. (general-define-key @@ -123,22 +126,22 @@ (quote undo-fu))) :init (evil-mode t) :config (mitch/evil-config)) -(elpaca-use-package evil-collection +(use-package evil-collection :after evil :diminish evil-collection-unimpaired-mode :config (evil-collection-init)) -(elpaca-use-package evil-commentary +(use-package evil-commentary :diminish 'evil-commentary-mode :config (evil-commentary-mode) :hook (prog-mode . evil-commentary-mode)) -(elpaca-use-package evil-surround +(use-package evil-surround :diminish 'global-evil-surround-mode :hook (prog-mode . evil-surround-mode) :config (global-evil-surround-mode 1)) -(elpaca-use-package evil-matchit +(use-package evil-matchit :diminish 'evil-matchit-mode :config (global-evil-matchit-mode 1)) -(elpaca-use-package evil-terminal-cursor-changer +(use-package evil-terminal-cursor-changer :after evil :diminish :if (not (display-graphic-p)) @@ -151,18 +154,19 @@ :config (evil-terminal-cursor-changer-activate) (xterm-mouse-mode)) -(elpaca-use-package undo-fu +(use-package undo-fu :after evil :if (< (string-to-number emacs-version) 28) :diminish) -(elpaca-use-package evil-goggles +(use-package evil-goggles :diminish :after evil :init (evil-goggles-mode) :custom-face (evil-goggles-default-face ((t (:background "#303030" :foreground "#2233aa"))))) -(elpaca-use-package (altcaps +(use-package altcaps + :elpaca (altcaps :host github :repo "protesilaos/altcaps") :general (general-define-key @@ -170,14 +174,19 @@ "`" 'altcaps-region)) ;; eshell. Pretty good actually. -(elpaca-use-package eshell - :ensure nil +(use-package eshell + :elpaca nil :commands (eshell/emacs eshell/man) + ;; :init + ;; (defun eshell-banner-initialize () + ;; "Run Neofetch in eshell." + ;; (eshell/ls nil)) :custom (eshell-scroll-to-bottom-on-input t) (eshell-hist-ignoredups t) (eshell-history-file-name nil) (eshell-history-size nil) + (setq eshell-banner-message "\n\n") :config (add-to-list 'eshell-modules-list 'eshell-rebind) (add-to-list 'eshell-modules-list 'eshell-hist) @@ -233,7 +242,8 @@ If the current window occupies the whole frame, split it." (advice-add 'evil-collection-eshell-setup-keys :after 'mitch/eshell-setup-keys)) ;; show command that caused last scrollback in eshell etc -(elpaca-use-package (sticky-shell +(use-package sticky-shell + :elpaca (sticky-shell :host github :repo "andyjda/sticky-shell") :after eshell @@ -253,51 +263,62 @@ If the current window occupies the whole frame, split it." ;; https://emacs.ch/@bram85/109612654687707030 (defun mitch/esh-outline-setup () (outline-minor-mode) + (diminish 'outline-minor-mode) (setq-local outline-regexp eshell-prompt-regexp)) (add-hook 'eshell-mode-hook #'mitch/esh-outline-setup)) - -(elpaca-use-package (eat - :repo "https://codeberg.org/akib/emacs-eat" - :files ("*.el" ("term" "term/*.el") "*.texi" - "*.ti" ("terminfo/e" "terminfo/e/*") - ("terminfo/65" "terminfo/65/*") - ("integration" "integration/*") - (:exclude ".dir-locals.el" "*-tests.el"))) +(use-package eat + :elpaca (eat :type git + :host codeberg + :repo "akib/emacs-eat" + :files ("*.el" ("term" "term/*.el") "*.texi" + "*.ti" ("terminfo/e" "terminfo/e/*") + ("terminfo/65" "terminfo/65/*") + ("integration" "integration/*") + (:exclude ".dir-locals.el" "*-tests.el"))) :custom (eat-kill-buffer-on-exit t) :hook (eshell-mode . eat-eshell-visual-command-mode) + (eshell-mode . eat-eshell-mode) (eat-mode . evil-insert-state)) -(elpaca-use-package hide-mode-line +(use-package hide-mode-line :commands (hide-mode-line-mode)) -;; (elpaca-use-package eshell-vterm +;; (use-package eshell-vterm ;; :after eshell ;; :custom (eshell-destroy-buffer-when-process-dies t) ;; :hook (eshell-mode . eshell-vterm-mode)) -(elpaca-use-package eshell-syntax-highlighting +(use-package eshell-syntax-highlighting :after eshell :hook (eshell-mode . eshell-syntax-highlighting-mode)) -(elpaca-use-package (eshell-dat +(use-package eshell-dat + :elpaca (eshell-dat :repo "https://git.mitchmarq42.xyz/mitch/eshell-dat") :after eshell) -(elpaca-use-package (ansilove +(use-package ansilove + :elpaca (ansilove :host gitlab :repo "xgqt/emacs-ansilove") :commands ansilove) -(elpaca-use-package eshell-prompt-extras +(use-package gitstatus + :elpaca (gitstatus + :host github + :repo "igorepst/gitstatus-el") + :custom (gitstatusd-exe "~/.cache/gitstatus/gitstatusd-linux-x86_64") :after eshell - :custom - (eshell-highlight-prompt nil) - (eshell-prompt-function 'epe-theme-multiline-with-status) - (epe-path-style 'full)) + :init (add-hook 'eshell-before-prompt-hook #'gitstatus-eshell-start)) +(use-package p11k + :elpaca (p11k + :repo "https://git.mitchmarq42.xyz/mitch/p11k-el") + :after eshell + :hook (eshell-mode . p11k-mode)) ;; File manager. Only breaks when you brag about how it doesn't. -(elpaca-use-package - (all-the-icons :post-build +(use-package all-the-icons + :elpaca (all-the-icons :post-build ("emacsclient" "--eval '(all-the-icons-install-fonts t)'"))) - -(elpaca-use-package (dirvish +(use-package dirvish + :elpaca (dirvish :files (:defaults "extensions/*.el")) :defer 0.5 :commands dirvish @@ -308,7 +329,7 @@ If the current window occupies the whole frame, split it." (dirvish-side-display-alist '((window-width . 0.15) (slot . -1) (side . left))) - :init (dirvish-override-dired-mode t) + ;; :init (dirvish-override-dired-mode t) :config (general-define-key :states 'normal @@ -325,7 +346,8 @@ If the current window occupies the whole frame, split it." "t" 'dirvish-side)) ;; Completion framework... -(elpaca-use-package (vertico +(use-package vertico + :elpaca (vertico :files (:defaults "extensions/vertico-mouse.el")) :custom (vertico-resize t) :init (vertico-mode t) @@ -349,12 +371,13 @@ see https://www.reddit.com/r/emacs/comments/xq6rpa/comment/iqynyu9/?utm_source= "DEL" 'backspace-in-minibuffer)) (elpaca nil (use-package vertico-mouse - :ensure nil + :elpaca nil ;; :straight vertico :after vertico :config (vertico-mouse-mode))) -(elpaca-use-package (app-launcher +(use-package app-launcher + :elpaca (app-launcher :host github :repo "SebastienWae/app-launcher") :after vertico :config @@ -376,15 +399,15 @@ behaviour. Delete the frame after that command has exited" (app-launcher-run-app) (delete-frame))))) -(elpaca-use-package consult +(use-package consult :after vertico :general (general-define-key [remap switch-to-buffer] 'consult-buffer)) ;; Minibuffer generic stuff -(elpaca-use-package marginalia +(use-package marginalia :init (marginalia-mode)) -(elpaca-use-package orderless +(use-package orderless :custom (completion-styles '(orderless partial-completion basic)) (completion-category-defaults nil) @@ -392,7 +415,7 @@ behaviour. Delete the frame after that command has exited" (completion-category-overrides nil)) ;; weird multi-path thing -(elpaca-use-package embark +(use-package embark :general (general-define-key :keymap minibuffer-mode-map @@ -432,10 +455,10 @@ targets." :around #'embark-hide-which-key-indicator) :custom (enable-recursive-minibuffers t)) ;; Consult users will also want the embark-consult package. -(elpaca-use-package embark-consult) +(use-package embark-consult) ;; SORTA WORKING: Relative line numbers with stuff -(elpaca-use-package nlinum-relative +(use-package nlinum-relative :custom (nlinum-relative-redisplay-delay 0) :hook (prog-mode . nlinum-relative-mode) @@ -470,7 +493,7 @@ targets." (add-hook 'minibuffer-exit-hook #'mitch/nlinum-buffer-setup)) ;; broken terminal that doesn't compile but at least it's fast when it does -(elpaca-use-package vterm +(use-package vterm :custom (vterm-always-compile-module t) (vterm-module-cmake-args "-DUSE_SYSTEM_LIBVTERM=no") @@ -506,7 +529,7 @@ targets." :hook (vterm-mode . mitch/terminal-setup) (vterm-exit-functions . save-buffers-kill-terminal)) -(elpaca-use-package multi-vterm +(use-package multi-vterm :commands (multi-vterm multi-vterm-other-window) :config (defun multi-vterm-other-window () @@ -526,13 +549,13 @@ targets." "v" 'multi-vterm-other-window)) ;; Better modeline? Better modeline. -(elpaca-use-package powerline +(use-package powerline :custom (powerline-display-buffer-size nil) (powerline-default-separator 'utf-8) (powerline-utf-8-separator-left (string-to-char "")) (powerline-utf-8-separator-right (string-to-char ""))) -(elpaca-use-package airline-themes +(use-package airline-themes :custom (airline-cursor-colors nil) (airline-display-directory t) @@ -548,19 +571,20 @@ targets." ;; Custom Theme. ;; Not to be confused with a color theme, or a color scheme, or a custom scheme. -(elpaca-use-package (sv-theme +(use-package sv-theme + :elpaca (sv-theme :repo "https://git.mitchmarq42.xyz/mitch/vimcolors") :config (mitch/visual-setup) (load-theme 'airline-ravenpower t) :init (load-theme 'sv t)) -;; (elpaca-use-package doom-themes +;; (use-package doom-themes ;; :config (mitch/visual-setup) ;; (load-theme 'airline-ravenpower t) ;; :init (load-theme 'doom-acario-dark t)) -(elpaca-use-package yascroll +(use-package yascroll :diminish :defer 1 ;; :if (not (display-graphic-p)) @@ -590,30 +614,32 @@ targets." ) ;; parentheses settingses -(elpaca-use-package (paredit :depth nil) - ;; elpaca declaration is broken, I just cloned it manually to .config/emacs/elpaca/repos - ;; see my issue https://github.com/progfolio/elpaca/issues/40 - :diminish - :general (general-define-key - "M-j" 'paredit-forward-slurp-sexp - "M-k" 'paredit-forward-barf-sexp - "M-h" 'paredit-backward-barf-sexp - "M-l" 'paredit-backward-slurp-sexp) - :hook (prog-mode . paredit-mode) - :init - (show-paren-mode 1) - (paredit-mode 1) - (electric-pair-mode 1) - :custom - (show-paren-delay 0) - (show-paren-style 'parenthesis)) -(elpaca-use-package evil-paredit +(elpaca (paredit :depth nil) + (use-package paredit + :elpaca nil + ;; elpaca declaration is broken, I just cloned it manually to .config/emacs/elpaca/repos + ;; see my issue https://github.com/progfolio/elpaca/issues/40 + :diminish + :general (general-define-key + "M-j" 'paredit-forward-slurp-sexp + "M-k" 'paredit-forward-barf-sexp + "M-h" 'paredit-backward-barf-sexp + "M-l" 'paredit-backward-slurp-sexp) + :hook (prog-mode . paredit-mode) + :init + (show-paren-mode 1) + (paredit-mode 1) + (electric-pair-mode 1) + :custom + (show-paren-delay 0) + (show-paren-style 'parenthesis))) +(use-package evil-paredit :after paredit :hook (evil-mode . evil-paredit-mode)) ;; org mode and messy things -(elpaca-use-package org - :ensure nil +(use-package org + :elpaca nil :diminish (org-indent-mode org-vw-mode) :custom ;; (org-hide-leading-stars t) @@ -670,21 +696,22 @@ See https://emacs.stackexchange.com/questions/2538/how-to-define-additional-mode :states 'normal :keymaps 'org-src-mode-map "ZZ" 'org-edit-src-exit)) -(elpaca-use-package (org-block-capf +(use-package org-block-capf + :elpaca (org-block-capf :host github :repo "xenodium/org-block-capf") :after org :init (add-hook 'org-mode-hook #'org-block-capf-add-to-completion-at-point-functions)) -(elpaca-use-package org-tempo - :ensure nil +(use-package org-tempo + :elpaca nil :after org :config (add-to-list 'org-structure-template-alist '("sh" . "src shell")) (add-to-list 'org-structure-template-alist '("el" . "src elisp")) (add-to-list 'org-structure-template-alist '("html" . "src html"))) -;; (elpaca-use-package org-variable-pitch +;; (use-package org-variable-pitch ;; :after org ;; :if (display-graphic-p) ;; :diminish (buffer-face-mode org-variable-pitch-minor-mode) @@ -692,7 +719,7 @@ See https://emacs.stackexchange.com/questions/2538/how-to-define-additional-mode ;; ((nil (:inherit ;; (font-lock-comment-delimiter-face fixed-pitch))))) ;; :hook (org-mode . org-variable-pitch-minor-mode)) -;; (elpaca-use-package org-appear +;; (use-package org-appear ;; :hook (org-mode . org-appear-mode) ;; :after org ;; :custom @@ -701,12 +728,13 @@ See https://emacs.stackexchange.com/questions/2538/how-to-define-additional-mode ;; (org-appear-autoentities t) ;; (org-appear-autokeywords t) ;; (org-appear-autosubmarkers t)) -(elpaca-use-package (org-pretty-table +(use-package org-pretty-table + :elpaca (org-pretty-table :host github :repo "Fuco1/org-pretty-table") :diminish :hook (org-mode . org-pretty-table-mode)) -(elpaca-use-package ox-hugo +(use-package ox-hugo :after org :config (defun hugo-dir-above (dir) @@ -742,40 +770,40 @@ Return nil if DIR is not in a hugo project at all." (add-hook 'after-save-hook #'hugo-compile)) ;; fake indentation, other than the other fake indentation -;; (elpaca-use-package adaptive-wrap +;; (use-package adaptive-wrap ;; :custom (adaptive-wrap-extra-indent 2) ;; :hook (org-mode . adaptive-wrap-prefix-mode)) ;; cheaty key popups -(elpaca-use-package which-key +(use-package which-key :diminish :defer 5 :custom (which-key-idle-delay 2.5) :init (which-key-mode t)) ;; parentheses are boring -(elpaca-use-package rainbow-delimiters +(use-package rainbow-delimiters :diminish :defer 1 :hook (prog-mode . rainbow-delimiters-mode)) ;; Hex colors -(elpaca-use-package rainbow-mode +(use-package rainbow-mode :diminish :hook (prog-mode . rainbow-mode)) ;; Nobody loves a good language -(elpaca-use-package powershell +(use-package powershell :mode ("\\.ps1\\'" . powershell-mode)) ;; or an okay language -(elpaca-use-package cider +(use-package cider :defer 1) ;; 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...) -(elpaca-use-package lsp-mode +(use-package lsp-mode :hook ((powershell-mode . lsp-mode) (lsp-mode . lsp-enable-which-key-integration) (lsp-completion-mode . corfu/lsp-mode-setup-completion)) @@ -785,7 +813,8 @@ Return nil if DIR is not in a hugo project at all." :init (defun corfu/lsp-mode-setup-completion () (setf (alist-get 'styles (alist-get 'lsp-capf completion-category-defaults)) '(flex)))) -(elpaca-use-package (treesit-auto +(use-package treesit-auto + :elpaca (treesit-auto :host github :repo "renzmann/treesit-auto") :custom (treesit-auto-install 'prompt) @@ -793,12 +822,12 @@ Return nil if DIR is not in a hugo project at all." ) ;; broken snippets I don't care about... -(elpaca-use-package yasnippet +(use-package yasnippet :diminish yas-minor-mode :hook (prog-mode . yas-minor-mode)) ;; Better help-pages. Genuinely pretty great. -(elpaca-use-package helpful +(use-package helpful :general (general-define-key [remap describe-key] 'helpful-key [remap describe-variable] 'helpful-variable @@ -814,10 +843,11 @@ Return nil if DIR is not in a hugo project at all." :custom (elisp-refs-verbose nil)) ;; Better lisp highlighting? -(elpaca-use-package highlight-defined +(use-package highlight-defined :hook (emacs-lisp-mode . highlight-defined-mode)) -(elpaca-use-package relint) -(elpaca-use-package (elisp-autofmt +(use-package relint) +(use-package elisp-autofmt + :elpaca (elisp-autofmt :host codeberg :repo "ideasman42/emacs-elisp-autofmt" :files ("*")) @@ -825,7 +855,7 @@ Return nil if DIR is not in a hugo project at all." ;; Shell linting? -(elpaca-use-package flymake +(use-package flymake :diminish :custom (flymake-note-bitmap '(right-arrow compilation-info)) @@ -834,11 +864,11 @@ Return nil if DIR is not in a hugo project at all." :hook (prog-mode . flymake-mode)) ;; Emacs startup profiling -- may not work with chemacs2 -(elpaca-use-package esup +(use-package esup :commands esup) ;; Blingy laggy minimap on the right -(elpaca-use-package minimap +(use-package minimap :general (general-define-key :states 'normal :prefix-command 'mini-map-prefix @@ -856,12 +886,13 @@ Return nil if DIR is not in a hugo project at all." ((nil (:background "#afafaf" :extend t))))) ;; epic drop-down completion -;; (elpaca-use-package company +;; (use-package company ;; :diminish ;; :custom ;(company-require-match nil) ;; (company-tooltip-align-annotations t) ;; :hook (prog-mode . company-mode)) -(elpaca-use-package (corfu +(use-package corfu + :elpaca (corfu :files (:defaults "extensions/*.el")) ;; :if (display-graphic-p) ; breaks in emacsclient :custom @@ -878,7 +909,14 @@ Return nil if DIR is not in a hugo project at all." (corfu-scroll-margin 5) ;; Use scroll margin (completion-cycle-threshold 0) (tab-always-indent 'complete) + (tooltip-delay 0.01) + (use-system-tooltips nil) + (tooltip-hide-delay 60) + :custom-face + (tooltip + ((t (:inherit 'corfu-default)))) :init (global-corfu-mode) + (tooltip-mode) :config (advice-add 'pcomplete-completions-at-point :around #'cape-wrap-silent) (advice-add 'pcomplete-completions-at-point :around #'cape-wrap-purify) @@ -894,29 +932,31 @@ Return nil if DIR is not in a hugo project at all." "C-f" 'corfu-info-location)) (elpaca nil (use-package corfu-echo - :ensure nil + :elpaca corfu :custom (corfu-echo-delay t) :after corfu :config (corfu-echo-mode))) (elpaca nil (use-package corfu-history - :ensure nil + :elpaca corfu :after corfu :config (corfu-history-mode))) -(elpaca-use-package cape +(use-package cape :after corfu :init (add-to-list 'completion-at-point-functions #'cape-dabbrev) (add-to-list 'completion-at-point-functions #'cape-file) (add-to-list 'completion-at-point-functions #'cape-ispell)) -(elpaca-use-package pcmpl-args +(use-package pcmpl-args :after eshell) -(elpaca-use-package (popon +(use-package popon + :elpaca (popon :type git :repo "https://codeberg.org/akib/emacs-popon") :if (not (display-graphic-p))) -(elpaca-use-package (corfu-terminal +(use-package corfu-terminal + :elpaca (corfu-terminal :type git :repo "https://codeberg.org/akib/emacs-corfu-terminal") :after popon @@ -924,7 +964,7 @@ Return nil if DIR is not in a hugo project at all." (display-graphic-p) (corfu-terminal-mode +1))) -(elpaca-use-package magit +(use-package magit :commands (madots magit-status magit) :hook (magit-mode . turn-off-line-numbers) :custom (vc-follow-symlinks t) @@ -961,7 +1001,8 @@ Return nil if DIR is not in a hugo project at all." (magit-status) (run-with-timer 5 3 #'madots--cleanup))) -(elpaca-use-package (hyperbole +(use-package hyperbole + :elpaca (hyperbole :files ("*.el" ("kotl" "kotl/*.el") "man/*.info" "man/*.texi") @@ -971,11 +1012,13 @@ Return nil if DIR is not in a hugo project at all." :states 'normal "RET" 'hkey-either)) -(elpaca-use-package (dconf-mode +(use-package dconf-mode + :elpaca (dconf-mode :type git :repo "https://git.mitchmarq42.xyz/mitch/dconf-mode.el")) -(elpaca-use-package (info-variable-pitch +(use-package info-variable-pitch + :elpaca (info-variable-pitch :host github :repo "kisaragi-hiu/info-variable-pitch") :config @@ -983,7 +1026,7 @@ Return nil if DIR is not in a hugo project at all." ;; (elpaca nil ;; (use-package exwm -;; :ensure nil +;; :elpaca nil ;; :if (package-installed-p 'exwm) ;; :init ;; (require 'exwm-config) @@ -991,7 +1034,7 @@ Return nil if DIR is not in a hugo project at all." (elpaca nil (use-package xwidget - :ensure nil + :elpaca nil :commands xwidget-webkit-browse-url :config (defun mitch/webkit-isearch () @@ -1017,19 +1060,20 @@ Return nil if DIR is not in a hugo project at all." "n" 'mitch/webkit-isearch-next "N" 'mitch/webkit-isearch-prev))) -(elpaca-use-package (ani-el +(use-package ani-el + :elpaca (ani-el :repo "https://git.mitchmarq42.xyz/mitch/ani-el" :files ("ani-el.el" "lib"))) -(elpaca-use-package slime +(use-package slime :if (file-exists-p (expand-file-name "~/quicklisp/slime-helper.el")) :commands (slime slime-connect) :custom (inferior-lisp-program "sbcl") :config (load (expand-file-name "~/quicklisp/slime-helper.el"))) ;; built in spell checker, for losers -(elpaca-use-package flyspell - :ensure nil +(use-package flyspell + :elpaca nil :diminish :custom (flyspell-auto-correct-word t) @@ -1037,23 +1081,23 @@ Return nil if DIR is not in a hugo project at all." (org-mode . flyspell-mode)) ;; Java never looked so useful... -(elpaca-use-package clojure-mode +(use-package clojure-mode :mode "\\.cljs\\'") -(elpaca-use-package inf-clojure +(use-package inf-clojure :after clojure-mode) ;; unique buffer names -(elpaca-use-package uniquify - :ensure nil +(use-package uniquify + :elpaca nil :custom (uniquify-buffer-name-style 'forward)) ;; cache file cleanup -(elpaca-use-package kkc - :ensure nil +(use-package kkc + :elpaca nil :custom (kkc-init-file-name (expand-file-name "kkcrc" backup-directory))) ;; see https://www.reddit.com/r/emacs/comments/xyo2fo/orgmode_vterm_tmux/ -(elpaca-use-package ob-tmux +(use-package ob-tmux :after (org dash) :config (setq org-src-lang-modes (-replace @@ -1069,7 +1113,8 @@ Return nil if DIR is not in a hugo project at all." (org-babel-tmux-terminal "/home/mitch/.local/bin/emacs-term-shim.sh") (org-babel-tmux-terminal-opts)) -(elpaca-use-package (dwim-shell-command +(use-package dwim-shell-command + :elpaca (dwim-shell-command :files (:defaults "dwim-shell-commands.el")) :config (require 'dwim-shell-commands) :commands dwim-shell-commands-kill-process) @@ -1077,7 +1122,7 @@ Return nil if DIR is not in a hugo project at all." ;; https://laurencewarne.github.io/emacs/programming/2022/12/26/exploring-proced.html (elpaca nil (use-package proced - :ensure nil + :elpaca nil :commands proced :custom (proced-auto-update-flag t) @@ -1091,17 +1136,20 @@ Return nil if DIR is not in a hugo project at all." '(custom user pid ppid sess tree pcpu pmem rss start time state (args comm))))) -(elpaca-use-package (youtube-sub-extractor +(use-package youtube-sub-extractor + :elpaca (youtube-sub-extractor :host github :repo "agzam/youtube-sub-extractor.el") :custom (youtube-sub-extractor-timestamps 'left-margin) :commands youtube-sub-extractor-extract-subs) ;; Cheat sheet -(elpaca-use-package (cheat-sh :host github :repo "davep/cheat-sh.el") +(use-package cheat-sh + :elpaca (cheat-sh :host github :repo "davep/cheat-sh.el") :commands cheat-sh) -(elpaca-use-package (pcre2el +(use-package pcre2el + :elpaca (pcre2el :host github :repo "joddie/pcre2el") :config @@ -1128,7 +1176,7 @@ Taken from https://howardism.org/Technical/Emacs/eshell-why.html" (guid (seq uuid))) (rxt-elisp-to-pcre (rx ,@expressions))))) -(elpaca-use-package org-modern +(use-package org-modern :after org :custom (org-modern-tag nil) @@ -1153,7 +1201,8 @@ Taken from https://howardism.org/Technical/Emacs/eshell-why.html" :after #'mitch/org-grayify-stars) ) -(elpaca-use-package (svg-tag-mode +(use-package svg-tag-mode + :elpaca (svg-tag-mode :host github :repo "rougier/svg-tag-mode") ;; :after org-modern @@ -1173,13 +1222,37 @@ Taken from https://howardism.org/Technical/Emacs/eshell-why.html" :face 'org-block-begin-line))))))) ) -(elpaca-use-package haskell-mode) -(elpaca-use-package yuck-mode) +(use-package haskell-mode) +(use-package yuck-mode) -(elpaca-use-package (klondike +(use-package klondike + :elpaca (klondike :host codeberg :repo "WammKD/Emacs-Klondike") :commands klondike) +;; disabled because error and useless +;; (use-package aggressive-indent +;; :after paredit +;; :commands aggressive-indent-mode +;; :hook (emacs-lisp-mode . aggresssive-indent-mode)) + +;; disabled because it breaks things and I don't care +(use-package perspective + :init (persp-mode) + :custom + (persp-suppress-no-prefix-key-warning t) + (persp-show-modestring nil) + ;; :config + ;; (consult-customize consult--source-buffer :hidden t :default nil) + ;; (add-to-list 'consult-buffer-sources persp-consult-source) + ) +(use-package perspective-tabs + :elpaca (perspective-tabs + :host sourcehut + :repo "woozong/perspective-tabs") + :after perspective + :init (perspective-tabs-mode +1)) + (provide 'mitch-packages) ;;; mitch-packages.el ends here