From 5b92b7ee0101fef3d44335b3fa9b5c333ecebcf6 Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Sat, 31 Jan 2026 23:55:40 -0800 Subject: [PATCH] Update elpaca migration for current master - Convert remaining :straight to :ensure (claude-code-ide) - Update elpaca-installer.el from v0.7 to v0.11 --- dotfiles/emacs.d/README.org | 24 +++++++++++++++------ dotfiles/emacs.d/elpaca-installer.el | 32 ++++++++++++++-------------- dotfiles/emacs.d/init.el | 11 +++++++++- dotfiles/emacs.d/org-config.org | 25 +++++++++++----------- 4 files changed, 56 insertions(+), 36 deletions(-) diff --git a/dotfiles/emacs.d/README.org b/dotfiles/emacs.d/README.org index 30f7a480..bcd8ecde 100644 --- a/dotfiles/emacs.d/README.org +++ b/dotfiles/emacs.d/README.org @@ -172,8 +172,9 @@ startup as possible. #+BEGIN_SRC emacs-lisp (defvar imalison:do-benchmark) -(let ((bench-file (concat (file-name-directory user-init-file) "benchmark.el"))) - (when (file-exists-p bench-file) (load bench-file))) +(when user-init-file + (let ((bench-file (concat (file-name-directory user-init-file) "benchmark.el"))) + (when (file-exists-p bench-file) (load bench-file)))) (use-package benchmark-init :if imalison:do-benchmark @@ -1735,6 +1736,7 @@ bind-key and global-set-key forms. ** xref #+begin_src emacs-lisp (use-package xref + :ensure nil :bind ("M-," . xref-go-back)) #+end_src * Navigation @@ -1899,8 +1901,10 @@ Neotree is useless with frame mode for now, so I've disabled it. :bind (:map vertico-map ("RET" . vertico-directory-enter) ("DEL" . vertico-directory-delete-char) - ("M-DEL" . vertico-directory-delete-word) - ("TAB" . embark-act))) + ("M-DEL" . vertico-directory-delete-word)) + :config + (with-eval-after-load 'embark + (define-key vertico-map (kbd "TAB") #'embark-act))) (use-package vertico-grid :ensure nil :after (vertico)) (use-package vertico-buffer :ensure nil :after (vertico)) @@ -2259,6 +2263,7 @@ I don't use auto-complete at all, so I have set up a hook to automatically disab (defvar imalison:use-lsp-python t) (use-package python + :ensure nil :commands python-mode :mode ("\\.py\\'" . python-mode) :preface @@ -2294,9 +2299,11 @@ I don't use auto-complete at all, so I have set up a hook to automatically disab *** ruby #+begin_src emacs-lisp (use-package ruby-mode + :ensure nil :config - (setf (alist-get 'ruby-ts-mode apheleia-mode-alist) - '(rubocop))) + (with-eval-after-load 'apheleia + (setf (alist-get 'ruby-ts-mode apheleia-mode-alist) + '(rubocop)))) #+end_src *** go #+BEGIN_SRC emacs-lisp @@ -3298,6 +3305,7 @@ emr (emacs refactor) provides support for refactoring in many programming langua ** semantic #+BEGIN_SRC emacs-lisp (use-package semantic + :ensure nil :commands semantic-mode :disabled t :preface @@ -3539,7 +3547,7 @@ crux-reopen-as-root-mode makes it so that any file owned by root will automatica ** claude-code-ide #+begin_src emacs-lisp (use-package claude-code-ide - :straight (:type git :host github :repo "manzaltu/claude-code-ide.el") + :ensure (:type git :host github :repo "manzaltu/claude-code-ide.el") :bind ("C-c C-'" . claude-code-ide-menu) :config (claude-code-ide-emacs-tools-setup) @@ -3776,6 +3784,7 @@ Not really sure what this is ** twittering-mode #+BEGIN_SRC emacs-lisp (use-package twittering-mode + :ensure (:host github :repo "hayamiz/twittering-mode") :commands twittering-mode) #+END_SRC ** matrix-client @@ -3984,6 +3993,7 @@ This is useful with server mode when editing gmail messages. I think that it is ** flyspell #+BEGIN_SRC emacs-lisp (use-package flyspell + :ensure nil :disabled t ; kind of annoying :preface (setq flyspell-issue-welcome-flag nil) :config diff --git a/dotfiles/emacs.d/elpaca-installer.el b/dotfiles/emacs.d/elpaca-installer.el index 5058ee6a..f249738e 100644 --- a/dotfiles/emacs.d/elpaca-installer.el +++ b/dotfiles/emacs.d/elpaca-installer.el @@ -1,10 +1,10 @@ ;; Elpaca Installer -*- lexical-binding: t; -*- -(defvar elpaca-installer-version 0.7) +(defvar elpaca-installer-version 0.11) (defvar elpaca-directory (expand-file-name "elpaca/" user-emacs-directory)) (defvar elpaca-builds-directory (expand-file-name "builds/" elpaca-directory)) (defvar elpaca-repos-directory (expand-file-name "repos/" elpaca-directory)) (defvar elpaca-order '(elpaca :repo "https://github.com/progfolio/elpaca.git" - :ref nil :depth 1 + :ref nil :depth 1 :inherit ignore :files (:defaults "elpaca-test.el" (:exclude "extensions")) :build (:not elpaca--activate-package))) (let* ((repo (expand-file-name "elpaca/" elpaca-repos-directory)) @@ -14,26 +14,26 @@ (add-to-list 'load-path (if (file-exists-p build) build repo)) (unless (file-exists-p repo) (make-directory repo t) - (when (< emacs-major-version 28) (require 'subr-x)) + (when (<= emacs-major-version 28) (require 'subr-x)) (condition-case-unless-debug err - (if-let ((buffer (pop-to-buffer-same-window "*elpaca-bootstrap*")) - ((zerop (apply #'call-process `("git" nil ,buffer t "clone" - ,@(when-let ((depth (plist-get order :depth))) - (list (format "--depth=%d" depth) "--no-single-branch")) - ,(plist-get order :repo) ,repo)))) - ((zerop (call-process "git" nil buffer t "checkout" - (or (plist-get order :ref) "--")))) - (emacs (concat invocation-directory invocation-name)) - ((zerop (call-process emacs nil buffer nil "-Q" "-L" "." "--batch" - "--eval" "(byte-recompile-directory \".\" 0 'force)"))) - ((require 'elpaca)) - ((elpaca-generate-autoloads "elpaca" repo))) + (if-let* ((buffer (pop-to-buffer-same-window "*elpaca-bootstrap*")) + ((zerop (apply #'call-process `("git" nil ,buffer t "clone" + ,@(when-let* ((depth (plist-get order :depth))) + (list (format "--depth=%d" depth) "--no-single-branch")) + ,(plist-get order :repo) ,repo)))) + ((zerop (call-process "git" nil buffer t "checkout" + (or (plist-get order :ref) "--")))) + (emacs (concat invocation-directory invocation-name)) + ((zerop (call-process emacs nil buffer nil "-Q" "-L" "." "--batch" + "--eval" "(byte-recompile-directory \".\" 0 'force)"))) + ((require 'elpaca)) + ((elpaca-generate-autoloads "elpaca" repo))) (progn (message "%s" (buffer-string)) (kill-buffer buffer)) (error "%s" (with-current-buffer buffer (buffer-string)))) ((error) (warn "%s" err) (delete-directory repo 'recursive)))) (unless (require 'elpaca-autoloads nil t) (require 'elpaca) (elpaca-generate-autoloads "elpaca" repo) - (load "./elpaca-autoloads"))) + (let ((load-source-file-function nil)) (load "./elpaca-autoloads")))) (add-hook 'after-init-hook #'elpaca-process-queues) (elpaca `(,@elpaca-order)) diff --git a/dotfiles/emacs.d/init.el b/dotfiles/emacs.d/init.el index 8fe2dd22..2fb293f2 100644 --- a/dotfiles/emacs.d/init.el +++ b/dotfiles/emacs.d/init.el @@ -27,9 +27,12 @@ ;;The packages in this section are used to as utilities in the rest of this init file. ;;Ensure they are installed/activated first. -(use-package s :demand t) +(use-package s + :ensure (:wait t) + :demand t) (use-package dash + :ensure (:wait t) :demand t :config (progn (dash-enable-font-lock))) @@ -80,6 +83,12 @@ (elpaca-wait) +;; Install transient early to prevent built-in version from loading +(use-package transient + :ensure (:host github :repo "magit/transient" :wait t) + :demand t) +(elpaca-wait) + (when (or (equal (s-trim (shell-command-to-string "whoami")) "kat") imalison:kat-mode) (let ((debug-on-error t)) diff --git a/dotfiles/emacs.d/org-config.org b/dotfiles/emacs.d/org-config.org index 1e94e7c1..74b30423 100644 --- a/dotfiles/emacs.d/org-config.org +++ b/dotfiles/emacs.d/org-config.org @@ -1004,8 +1004,6 @@ alphanumeric characters only." :config (progn (when (version<= "29.0" emacs-version) - (use-package emacsql-sqlite-builtin - :demand t) (setq org-roam-database-connector 'sqlite-builtin)) (org-roam-db-autosync-mode +1) @@ -1027,20 +1025,23 @@ alphanumeric characters only." ((get-buffer org-roam-buffer) 'exists) (t 'none))) - (use-package frame-mode - :if imalison:use-frame-mode - :demand t - :config - (progn - (emit-variable-set-mode - imalison:org-roam-set-frame-visibility-mode - org-roam-buffer-visibility-fn 'imalison:org-roam-frame-based-buffer-visibility-fn) - (emit-make-mode-dependent imalison:org-roam-set-frame-visibility-mode frame-mode)))) + ;; org-roam-buffer-visibility-fn was removed in newer org-roam versions + (when (and imalison:use-frame-mode (boundp 'org-roam-buffer-visibility-fn)) + (require 'frame-mode) + (emit-variable-set-mode + imalison:org-roam-set-frame-visibility-mode + org-roam-buffer-visibility-fn 'imalison:org-roam-frame-based-buffer-visibility-fn) + (emit-make-mode-dependent imalison:org-roam-set-frame-visibility-mode frame-mode))) :custom (org-roam-directory (file-truename "~/org/roam/"))) #+end_src ***** ui #+begin_src emacs-lisp +(use-package simple-httpd + :ensure (:host github :repo "skeeto/emacs-web-server" + :local-repo "simple-httpd" + :files ("simple-httpd.el"))) + (use-package org-roam-ui :after org-roam :custom @@ -1120,7 +1121,7 @@ alphanumeric characters only." :ensure (:repo "colonelpanic8/org-window-habit" :host github - :files ("org-window-habit.el")) + :files (:defaults "*.el")) :custom ((org-window-habit-property-prefix nil) (org-window-habit-repeat-to-scheduled t)