switch to Elpaca, using the new(ish) enhanced :ensure

This commit is contained in:
Miranda Marquez 2024-05-26 17:18:27 -08:00
parent f017de68df
commit b704b242d3

125
init.el
View File

@ -25,13 +25,6 @@
(defvar use-short-answers t) (defvar use-short-answers t)
(defalias 'yes-or-no-p 'y-or-n-p)) (defalias 'yes-or-no-p 'y-or-n-p))
;; do the things
(add-hook 'server-after-make-frame-hook #'mir/graphical-setup)
(if (display-graphic-p)
;; (add-hook 'elpaca-after-init-hook #'mir/graphical-setup)
(add-hook 'after-init-hook #'mir/graphical-setup)
)
;; Control backups/swapfiles ;; Control backups/swapfiles
(defvar backup-directory (defvar backup-directory
(expand-file-name "emacs-backups" (expand-file-name "emacs-backups"
@ -298,9 +291,10 @@ If the current window occupies the whole frame, split it."
(elpaca elpaca-use-package (elpaca elpaca-use-package
(elpaca-use-package-mode) (elpaca-use-package-mode)
(setq elpaca-use-package-by-default t)) (setq elpaca-use-package-by-default t))
(elpaca-process-queues) (elpaca-wait)
(require 'dash) (require 'dash)
(setq use-package-git-keyword :elpaca)) ;; (setq use-package-git-keyword :ensure)
)
(defun nix-bootstrap () (defun nix-bootstrap ()
"placeholder function. Ideally, load nix packages" "placeholder function. Ideally, load nix packages"
@ -315,23 +309,33 @@ If the current window occupies the whole frame, split it."
(let ((index (cl-position key plist))) (let ((index (cl-position key plist)))
(-remove-at-indices `(,index ,(1+ index)) plist)) (-remove-at-indices `(,index ,(1+ index)) plist))
plist)) plist))
;; (plist-remove :straight '(use-package package)) ;; (plist-remove :ensure '(use-package package))
;; (if (executable-find "home-manager") ;; (if (executable-find "home-manager")
;; ;; (nix-bootstrap) ;; ;; (nix-bootstrap)
;; (straight-bootstrap) ;; (straight-bootstrap)
;; (if (eq system-type 'windows-nt) ;; (if (eq system-type 'windows-nt)
;; (straight-bootstrap) ;; (straight-bootstrap)
;; (elpaca-bootstrap))) ;; (elpaca-bootstrap)))
(straight-bootstrap) ;; (straight-bootstrap)
(elpaca-bootstrap)
;; (fset #'use-package--orig (symbol-function #'use-package))
;; (defmacro use-package (&rest args)
;; "re-definition of use-package to replace the downloader depending on system"
;; ;; (require 'dash)
;; (if (eq use-package-git-keyword :nix)
;; `(use-package--orig ,@(plist-remove :ensure args))
;; `(use-package--orig ,@(-replace :ensure use-package-git-keyword args))))
;; (use-package lua-mode :ensure nil)
(setq init-hook 'elpaca-after-init-hook)
;; do the things
(add-hook 'server-after-make-frame-hook #'mir/graphical-setup)
(if (display-graphic-p)
(add-hook 'init-hook #'mir/graphical-setup)
;; (add-hook 'after-init-hook #'mir/graphical-setup)
)
(fset #'use-package--orig (symbol-function #'use-package))
(defmacro use-package (&rest args)
"re-definition of use-package to replace the downloader depending on system"
;; (require 'dash)
(if (eq use-package-git-keyword :nix)
`(use-package--orig ,@(plist-remove :git args))
`(use-package--orig ,@(-replace :git use-package-git-keyword args))))
;; (use-package lua-mode :git nil)
(use-package compat) (use-package compat)
(use-package marginalia :init (marginalia-mode)) (use-package marginalia :init (marginalia-mode))
@ -345,7 +349,7 @@ If the current window occupies the whole frame, split it."
:mode ("\\.ps1\\'" . powershell-mode)) :mode ("\\.ps1\\'" . powershell-mode))
;; (message "%s" elpaca--queues) ;; (message "%s" elpaca--queues)
(if (fboundp #'elpaca) (elpaca-process-queues)) (if (fboundp #'elpaca) (elpaca-wait))
;; diminish ;; diminish
(use-package diminish (use-package diminish
@ -356,7 +360,8 @@ If the current window occupies the whole frame, split it."
:demand t :demand t
:custom (default-input-method "japanese") :custom (default-input-method "japanese")
:config (require 'mir-keybinds)) :config (require 'mir-keybinds))
(if (fboundp #'elpaca) (elpaca-wait)) ;;(if (fboundp #'elpaca) (elpaca-wait))
(elpaca-wait)
(use-package eldoc-box (use-package eldoc-box
:after eldoc :after eldoc
:diminish (eldoc-mode eldoc-box-hover-at-point-mode) :diminish (eldoc-mode eldoc-box-hover-at-point-mode)
@ -401,7 +406,7 @@ If the current window occupies the whole frame, split it."
(use-package altcaps (use-package altcaps
:after evil :after evil
:git (:host github :ensure (:host github
:repo "protesilaos/altcaps") :repo "protesilaos/altcaps")
:general (general-define-key :general (general-define-key
:states 'visual :states 'visual
@ -429,7 +434,7 @@ If the current window occupies the whole frame, split it."
;; show command that caused last scrollback in eshell etc ;; show command that caused last scrollback in eshell etc
(use-package sticky-shell (use-package sticky-shell
:git (sticky-shell :ensure (sticky-shell
:host github :host github
:repo "andyjda/sticky-shell") :repo "andyjda/sticky-shell")
:after eshell :after eshell
@ -456,7 +461,7 @@ If the current window occupies the whole frame, split it."
:hook (eshell-mode . exec-path-from-shell-initialize)) :hook (eshell-mode . exec-path-from-shell-initialize))
(use-package eat (use-package eat
:git (eat :type git :ensure (eat :type git
:repo "https://codeberg.org/akib/emacs-eat" :repo "https://codeberg.org/akib/emacs-eat"
:files ("*.el" ("term" "term/*.el") "*.texi" :files ("*.el" ("term" "term/*.el") "*.texi"
"*.ti" ("terminfo/e" "terminfo/e/*") "*.ti" ("terminfo/e" "terminfo/e/*")
@ -482,32 +487,32 @@ If the current window occupies the whole frame, split it."
:custom :custom
(eshell-syntax-highlighting-in-remote-dirs t)) (eshell-syntax-highlighting-in-remote-dirs t))
(use-package eshell-dat (use-package eshell-dat
:git (eshell-dat :ensure (eshell-dat
:repo "https://git.marq42.xyz/mir/eshell-dat") :repo "https://git.marq42.xyz/mir/eshell-dat")
:after eshell) :after eshell)
(use-package ansilove (use-package ansilove
:git (:host gitlab :ensure (:host gitlab
:repo "xgqt/emacs-ansilove") :repo "xgqt/emacs-ansilove")
:commands ansilove) :commands ansilove)
(use-package p11k (use-package p11k
:git (:repo "https://git.marq42.xyz/mir/p11k") :ensure (:repo "https://git.marq42.xyz/mir/p11k")
:after eshell :after eshell
:hook (eshell-first-time-mode . p11k-mode)) :hook (eshell-first-time-mode . p11k-mode))
;; File manager. Only breaks when you brag about how it doesn't. ;; File manager. Only breaks when you brag about how it doesn't.
(use-package all-the-icons (use-package all-the-icons
:git (all-the-icons :ensure (all-the-icons
;; :post-build ;; :post-build
;; ("emacsclient" "--eval '(all-the-icons-install-fonts t)'") ;; ("emacsclient" "--eval '(all-the-icons-install-fonts t)'")
)) ))
(use-package nerd-fonts (use-package nerd-fonts
:git (:host github :ensure (:host github
:repo "twlz0ne/nerd-fonts.el")) :repo "twlz0ne/nerd-fonts.el"))
;; (use-package nerd-icons ;has error ;; (use-package nerd-icons ;has error
;; :git (:host github :repo "rainstormstudio/nerd-icons.el") ;; :ensure (:host github :repo "rainstormstudio/nerd-icons.el")
;; :custom (nerd-icons-font-family "MesloLGS NF")) ;; :custom (nerd-icons-font-family "MesloLGS NF"))
(use-package dirvish (use-package dirvish
:git (:files (:defaults "extensions/*.el")) :ensure (:files (:defaults "extensions/*.el"))
:defer 0.5 :defer 0.5
:commands dirvish :commands dirvish
:custom :custom
@ -535,7 +540,7 @@ If the current window occupies the whole frame, split it."
;; Completion framework... ;; Completion framework...
(use-package vertico (use-package vertico
:git (:files (:defaults "extensions/*.el")) :ensure (:files (:defaults "extensions/*.el"))
:custom (vertico-resize t) :custom (vertico-resize t)
:init (vertico-mode t) :init (vertico-mode t)
:config :config
@ -557,12 +562,12 @@ see https://www.reddit.com/r/emacs/comments/xq6rpa/comment/iqynyu9/?utm_source=
:prefix-map 'minibuffer-mode-map :prefix-map 'minibuffer-mode-map
"DEL" 'backspace-in-minibuffer)) "DEL" 'backspace-in-minibuffer))
(use-package vertico-mouse (use-package vertico-mouse
:git nil :ensure nil
:after vertico :after vertico
:config :config
(vertico-mouse-mode)) (vertico-mouse-mode))
(use-package app-launcher (use-package app-launcher
:git (app-launcher :ensure (app-launcher
:host github :repo "SebastienWae/app-launcher") :host github :repo "SebastienWae/app-launcher")
:commands (app-launcher-run-app emacs-run-launcher) :commands (app-launcher-run-app emacs-run-launcher)
:config :config
@ -721,7 +726,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 sv-theme (use-package sv-theme
:git (sv-theme :ensure (sv-theme
:repo :repo
"https://git.marq42.xyz/mir/sv-theme") "https://git.marq42.xyz/mir/sv-theme")
:config :config
@ -732,7 +737,7 @@ targets."
;; parentheses settingses ;; parentheses settingses
(use-package paredit (use-package paredit
;; :git nil ;; :ensure nil
;; elpaca declaration is broken, I just cloned it manually to .config/emacs/elpaca/repos ;; elpaca declaration is broken, I just cloned it manually to .config/emacs/elpaca/repos
;; see my issue https://github.com/progfolio/elpaca/issues/40 ;; see my issue https://github.com/progfolio/elpaca/issues/40
:diminish :diminish
@ -757,7 +762,7 @@ targets."
;; org mode and messy things ;; org mode and messy things
(use-package org (use-package org
:git nil :ensure nil
:diminish (org-indent-mode org-vw-mode) :diminish (org-indent-mode org-vw-mode)
:custom :custom
;; (org-hide-leading-stars t) ;; (org-hide-leading-stars t)
@ -915,7 +920,7 @@ Return nil if DIR is not in a hugo project at all."
(use-package relint (use-package relint
:commands relint-file) :commands relint-file)
(use-package elisp-autofmt (use-package elisp-autofmt
:git (elisp-autofmt :ensure (elisp-autofmt
:url "https://codeberg.org/ideasman42/emacs-elisp-autofmt" :url "https://codeberg.org/ideasman42/emacs-elisp-autofmt"
:files ("*")) :files ("*"))
:custom (elisp-autofmt-python-bin "/usr/bin/python3")) :custom (elisp-autofmt-python-bin "/usr/bin/python3"))
@ -957,7 +962,7 @@ Return nil if DIR is not in a hugo project at all."
;; epic drop-down completion ;; epic drop-down completion
(use-package corfu (use-package corfu
:after eldoc :after eldoc
:git (:files (:defaults "extensions/*.el")) :ensure (:files (:defaults "extensions/*.el"))
;; :if (display-graphic-p) ; breaks in emacsclient ;; :if (display-graphic-p) ; breaks in emacsclient
:custom :custom
;; (corfu-cycle t) ;; Enable cycling for `corfu-next/previous' ;; (corfu-cycle t) ;; Enable cycling for `corfu-next/previous'
@ -1005,11 +1010,11 @@ Return nil if DIR is not in a hugo project at all."
:after eshell) :after eshell)
(use-package popon (use-package popon
:git (:type git :ensure (: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-package corfu-terminal
:git (corfu-terminal :ensure (corfu-terminal
:type git :type git
:repo "https://codeberg.org/akib/emacs-corfu-terminal") :repo "https://codeberg.org/akib/emacs-corfu-terminal")
:after popon :after popon
@ -1059,7 +1064,7 @@ Return nil if DIR is not in a hugo project at all."
;; :after magit ;; :after magit
;; :init (magit-todos-mode)) ;; :init (magit-todos-mode))
(use-package blamer (use-package blamer
:git (:host github :repo "artawower/blamer.el") :ensure (:host github :repo "artawower/blamer.el")
:after magit :after magit
:custom :custom
(blamer-view 'overlay) (blamer-view 'overlay)
@ -1073,16 +1078,16 @@ Return nil if DIR is not in a hugo project at all."
:italic t))) :italic t)))
:commands blamer-show-posframe-commit-info) :commands blamer-show-posframe-commit-info)
(use-package magit-stats (use-package magit-stats
:git (:host github :repo "LionyxML/magit-stats") :ensure (:host github :repo "LionyxML/magit-stats")
:after magit :after magit
:commands magit-stats) :commands magit-stats)
(use-package magit-pretty-graph (use-package magit-pretty-graph
:git (:host github :repo "georgek/magit-pretty-graph") :ensure (:host github :repo "georgek/magit-pretty-graph")
:after magit :after magit
:commands magit-pg-repo) :commands magit-pg-repo)
(use-package hyperbole (use-package hyperbole
:git (:files ("*.el" :ensure (:files ("*.el"
("kotl" "kotl/*.el") ("kotl" "kotl/*.el")
"man/*.info" "man/*.texi") "man/*.info" "man/*.texi")
:host github :repo "rswgnu/hyperbole") :host github :repo "rswgnu/hyperbole")
@ -1092,12 +1097,12 @@ Return nil if DIR is not in a hugo project at all."
"RET" 'hkey-either)) "RET" 'hkey-either))
(use-package dconf-mode (use-package dconf-mode
:git (dconf-mode :ensure (dconf-mode
:type git :type git
:repo "https://git.marq42.xyz/mir/dconf-mode")) :repo "https://git.marq42.xyz/mir/dconf-mode"))
(use-package info-variable-pitch (use-package info-variable-pitch
:git (info-variable-pitch :ensure (info-variable-pitch
:host github :host github
:repo "kisaragi-hiu/info-variable-pitch") :repo "kisaragi-hiu/info-variable-pitch")
:config :config
@ -1110,13 +1115,13 @@ Return nil if DIR is not in a hugo project at all."
:config (load (expand-file-name "~/quicklisp/slime-helper.el"))) :config (load (expand-file-name "~/quicklisp/slime-helper.el")))
(use-package dwim-shell-command (use-package dwim-shell-command
:git (dwim-shell-command :ensure (dwim-shell-command
:files (:defaults "dwim-shell-commands.el")) :files (:defaults "dwim-shell-commands.el"))
:config (require 'dwim-shell-commands) :config (require 'dwim-shell-commands)
:commands dwim-shell-commands-kill-process) :commands dwim-shell-commands-kill-process)
(use-package youtube-sub-extractor (use-package youtube-sub-extractor
:git (youtube-sub-extractor :ensure (youtube-sub-extractor
:host github :host github
:repo "agzam/youtube-sub-extractor.el") :repo "agzam/youtube-sub-extractor.el")
:custom (youtube-sub-extractor-timestamps 'left-margin) :custom (youtube-sub-extractor-timestamps 'left-margin)
@ -1124,11 +1129,11 @@ Return nil if DIR is not in a hugo project at all."
;; Cheat sheet ;; Cheat sheet
(use-package cheat-sh (use-package cheat-sh
:git (cheat-sh :host github :repo "davep/cheat-sh.el") :ensure (cheat-sh :host github :repo "davep/cheat-sh.el")
:commands cheat-sh) :commands cheat-sh)
(use-package pcre2el (use-package pcre2el
:git (:host github :ensure (:host github
:repo "joddie/pcre2el") :repo "joddie/pcre2el")
:config :config
(defmacro prx (&rest expressions) (defmacro prx (&rest expressions)
@ -1161,7 +1166,7 @@ Taken from https://howardism.org/Technical/Emacs/eshell-why.html"
:mode "\\.yuck") :mode "\\.yuck")
(use-package fretboard (use-package fretboard
:git (:host github :repo "vifon/fretboard.el") :ensure (:host github :repo "vifon/fretboard.el")
:commands fretboard) :commands fretboard)
(use-package power-mode (use-package power-mode
@ -1170,7 +1175,7 @@ Taken from https://howardism.org/Technical/Emacs/eshell-why.html"
(power-mode-streak-shake-threshold nil)) (power-mode-streak-shake-threshold nil))
(use-package notibox (use-package notibox
:if (display-graphic-p) :if (display-graphic-p)
:git (:host github :repo "MitchMarq42/notibox.el") :ensure (:host github :repo "MitchMarq42/notibox.el")
:demand t :demand t
:custom (notibox-corner 'topright) :custom (notibox-corner 'topright)
:config (notibox/setup-timer)) :config (notibox/setup-timer))
@ -1179,33 +1184,33 @@ Taken from https://howardism.org/Technical/Emacs/eshell-why.html"
(use-package vidframe (use-package vidframe
:if (display-graphic-p) ;we won't yet bother with :if (display-graphic-p) ;we won't yet bother with
;kitty/sixel/catimg shit ;kitty/sixel/catimg shit
:git (:host github :repo "MitchMarq42/vidframe.el") :ensure (:host github :repo "MitchMarq42/vidframe.el")
:defer t) :defer t)
;; Kitty Keyboard Protocol ;; Kitty Keyboard Protocol
(use-package kkp (use-package kkp
:git (:host github :repo "benjaminor/kkp") :ensure (:host github :repo "benjaminor/kkp")
:unless (display-graphic-p) :unless (display-graphic-p)
:config (global-kkp-mode)) :config (global-kkp-mode))
;; Rubix Cube ;; Rubix Cube
(use-package eagle (use-package eagle
:git (:repo "https://codeberg.org/akib/emacs-eagle")) :ensure (:repo "https://codeberg.org/akib/emacs-eagle"))
(use-package cube (use-package cube
:git (:repo "https://codeberg.org/akib/emacs-cube") :ensure (:repo "https://codeberg.org/akib/emacs-cube")
:commands 'cube) :commands 'cube)
(use-package dtache (use-package dtache
:git (:repo "https://gitlab.com/niklaseklund/dtache") :ensure (:repo "https://gitlab.com/niklaseklund/dtache")
:hook (after-init . dtache-setup)) :hook (after-init . dtache-setup))
(use-package org-modern-indent (use-package org-modern-indent
:git (:type git :host github :repo "jdtsmith/org-modern-indent") :ensure (:type git :host github :repo "jdtsmith/org-modern-indent")
:hook (org-mode . org-modern-indent-mode)) :hook (org-mode . org-modern-indent-mode))
(use-package indent-bars (use-package indent-bars
:git (:type git :host github :repo "jdtsmith/indent-bars") :ensure (:type git :host github :repo "jdtsmith/indent-bars")
:custom :custom
(indent-bars-prefer-character t) (indent-bars-prefer-character t)
(indent-bars-color '(highlight :face-bg t :blend 0.75)) (indent-bars-color '(highlight :face-bg t :blend 0.75))