diff --git a/README.org b/README.org index faa17ae..59a722a 100755 --- a/README.org +++ b/README.org @@ -415,6 +415,7 @@ Following is a subset of the many places I've learnt from. - [cite:@christensen2020erase] - [cite:@ayats2024dropping] - [cite:@zaynetdinov2024you] +- [cite:@schafer2017advanced] - [[https://prelude.emacsredux.com/en/stable/][Emacs Prelude]] - [[https://github.com/doomemacs/doomemacs][Doom Emacs]] - [[https://cce.whatthefuck.computer/cce][Ryan Rix's Complete Computing Environment]] diff --git a/users/crumb/programs/emacs/early-init.el b/users/crumb/programs/emacs/early-init.el index 7fcb10d..030db43 100644 --- a/users/crumb/programs/emacs/early-init.el +++ b/users/crumb/programs/emacs/early-init.el @@ -2,3 +2,10 @@ ;; Disable package.el; we use Straight. (setq package-enable-at-startup nil) + +;; Enable use-package statistics for the sake of start-up profiling. +(setq use-package-compute-statistics t) + +(setq gc-cons-threshold + ;; (4 gibibytes) + (* 4 (expt 1024 3))) diff --git a/users/crumb/programs/emacs/init-straight.el b/users/crumb/programs/emacs/init-straight.el index 1ca3392..54bc76f 100644 --- a/users/crumb/programs/emacs/init-straight.el +++ b/users/crumb/programs/emacs/init-straight.el @@ -28,6 +28,6 @@ (with-current-buffer url-buffer (goto-char (point-max)) (eval-print-last-sexp)))) - (load-file bootstrap-file)) + (load bootstrap-file nil 'nomessage)) (setq straight-use-package-by-default t)) diff --git a/users/crumb/programs/emacs/modules/syd-evil.el b/users/crumb/programs/emacs/modules/syd-evil.el index 52261bc..ceae1de 100644 --- a/users/crumb/programs/emacs/modules/syd-evil.el +++ b/users/crumb/programs/emacs/modules/syd-evil.el @@ -78,6 +78,7 @@ :commands (evilnc-comment-operator evilnc-inner-comment evilnc-outer-commenter) + :defer t :bind (:map evil-normal-state-map ("#" . evilnc-comment-operator) :map evil-visual-state-map ("#" . evilnc-comment-operator) :map evil-inner-text-objects-map ("c" . evilnc-inner-comment) @@ -101,7 +102,8 @@ ;; 'g=' is a bit more comfortable than 'g+', whilst preserving the analogy. ;; ('=' is '+' modulo shift) :bind (:map evil-normal-state-map ("g=" . 'evil-numbers/inc-at-pt) - :map evil-normal-state-map ("g-" . 'evil-numbers/dec-at-pt))) + :map evil-normal-state-map ("g-" . 'evil-numbers/dec-at-pt)) + :defer t) ;; Tree-sitter queries → Evil text objects. (use-package evil-textobj-tree-sitter @@ -121,6 +123,7 @@ (use-package evil-terminal-cursor-changer ;; This package is only useful in the terminal. :if (not (display-graphic-p)) + :defer t :hook (on-first-input . evil-terminal-cursor-changer-activate)) ;; Automatic alignment in region, by regexp. @@ -152,6 +155,7 @@ ;; the text `two words`, but the point is over `two`, Evil will search for ;; `two`. `evil-visualstar' will instead search for `two words`. (use-package evil-visualstar + :defer t :bind (:map evil-visual-state-map ("*" . evil-visualstar/begin-search-forward)))