init.el (3728B)
1 ;; elpaca build date, CHANGE EVERY BUILD 2 (setq elpaca-core-date '(20250616)) 3 4 ;; Start elpaca bootstrap 5 (defvar elpaca-installer-version 0.11) 6 (defvar elpaca-directory (expand-file-name "elpaca/" user-emacs-directory)) 7 (defvar elpaca-builds-directory (expand-file-name "builds/" elpaca-directory)) 8 (defvar elpaca-repos-directory (expand-file-name "repos/" elpaca-directory)) 9 (defvar elpaca-order '(elpaca :repo "https://github.com/progfolio/elpaca.git" 10 :ref nil :depth 1 :inherit ignore 11 :files (:defaults "elpaca-test.el" (:exclude "extensions")) 12 :build (:not elpaca--activate-package))) 13 (let* ((repo (expand-file-name "elpaca/" elpaca-repos-directory)) 14 (build (expand-file-name "elpaca/" elpaca-builds-directory)) 15 (order (cdr elpaca-order)) 16 (default-directory repo)) 17 (add-to-list 'load-path (if (file-exists-p build) build repo)) 18 (unless (file-exists-p repo) 19 (make-directory repo t) 20 (when (<= emacs-major-version 28) (require 'subr-x)) 21 (condition-case-unless-debug err 22 (if-let* ((buffer (pop-to-buffer-same-window "*elpaca-bootstrap*")) 23 ((zerop (apply #'call-process `("git" nil ,buffer t "clone" 24 ,@(when-let* ((depth (plist-get order :depth))) 25 (list (format "--depth=%d" depth) "--no-single-branch")) 26 ,(plist-get order :repo) ,repo)))) 27 ((zerop (call-process "git" nil buffer t "checkout" 28 (or (plist-get order :ref) "--")))) 29 (emacs (concat invocation-directory invocation-name)) 30 ((zerop (call-process emacs nil buffer nil "-Q" "-L" "." "--batch" 31 "--eval" "(byte-recompile-directory \".\" 0 'force)"))) 32 ((require 'elpaca)) 33 ((elpaca-generate-autoloads "elpaca" repo))) 34 (progn (message "%s" (buffer-string)) (kill-buffer buffer)) 35 (error "%s" (with-current-buffer buffer (buffer-string)))) 36 ((error) (warn "%s" err) (delete-directory repo 'recursive)))) 37 (unless (require 'elpaca-autoloads nil t) 38 (require 'elpaca) 39 (elpaca-generate-autoloads "elpaca" repo) 40 (let ((load-source-file-function nil)) (load "./elpaca-autoloads")))) 41 (add-hook 'after-init-hook #'elpaca-process-queues) 42 (elpaca `(,@elpaca-order)) 43 ;; End elpaca bootstrap 44 45 ;; Install use-package support 46 (elpaca elpaca-use-package 47 ;; Enable :elpaca use-package keyword. 48 (elpaca-use-package-mode) 49 ;; Assume :elpaca t unless otherwise specified. 50 (setq elpaca-use-package-by-default t)) 51 52 (elpaca-wait) 53 54 ;; Install a more up-to-date version of org 55 ;; (use-package org 56 ;; :defer 57 ;; :ensure `(org :repo "https://code.tecosaur.net/tec/org-mode.git/" 58 ;; :branch "dev") 59 ;; :hook 60 ;; (org-mode . org-latex-preview-auto-mode) 61 ;; :config 62 ;; ;; Ensure that live previews are on 63 ;; (setq org-latex-preview-live t) 64 ;; (setq org-latex-preview-live-debounce 0.25)) 65 (use-package org) 66 ;; There are many reasons you might want to do this, but the git version is quite unstable as well 67 68 ;; We then need to wait for the download of org to complete before we can use org. 69 (elpaca-wait) 70 71 (setq ethandl/config-fname (expand-file-name "config.org" user-emacs-directory)) 72 (when (file-readable-p ethandl/config-fname) 73 (org-babel-load-file ethandl/config-fname)) 74 75 ;; Emacs crap that it does automatically: 76 (setq ethandl/custom-file (expand-file-name "custom.el" user-emacs-directory)) 77 (setq custom-file ethandl/custom-file) 78 (load custom-file)