From 1dd6b9c0eed5a596711340cbf48456ac003f8e7c Mon Sep 17 00:00:00 2001 From: Case Duckworth Date: Mon, 29 Mar 2021 17:52:23 -0500 Subject: Switch to using `setup.el' for customizations setup (https://git.sr.ht/~zge/setup) does everything I tried to do with `acdw/pkg', et al., but better. --- early-init.el | 111 ++++++++++++++++++++++++++-------------------------------- 1 file changed, 49 insertions(+), 62 deletions(-) (limited to 'early-init.el') diff --git a/early-init.el b/early-init.el index 4037ef8..adc876a 100644 --- a/early-init.el +++ b/early-init.el @@ -27,64 +27,53 @@ ;;; Speed up init ;; see doom-emacs, et al. -(defconst gc-cons-threshold-basis (* 800 1000) - "The basis value for `gc-cons-threshold' to return to after a jump. -800 KB is Emacs's default `gc-cons-threshold'.") - -(defconst gc-cons-percentage-basis 0.1 - "The basis value for `gc-cons-percentage' to return to after init. -0.1 is Emacs's default `gc-cons-percentage'.") - (defvar orig-file-name-handler-alist file-name-handler-alist "The original value of `file-name-handler-alist' will be restored after init.") -(setq gc-cons-threshold most-positive-fixnum - gc-cons-percentage 0.6 - file-name-handler-alist nil) +(setq file-name-handler-alist nil) +(acdw/gc-disable) -(defun hook--post-init-reset () - "Reset `gc-cons-threshold', `gc-cons-percentage', and +(add-hook 'after-init-hook + (defun hook--post-init-reset () + "Reset `gc-cons-threshold', `gc-cons-percentage', and `file-name-handler-alist' to their defaults after init." - (setq gc-cons-threshold gc-cons-threshold-basis - gc-cons-percentage gc-cons-percentage-basis) - (dolist (handler file-name-handler-alist) - (add-to-list 'orig-file-name-handler-alist handler)) - (setq file-name-handler-alist orig-file-name-handler-alist)) - -(add-hook 'after-init-hook #'hook--post-init-reset) + (acdw/gc-enable) + (dolist (handler file-name-handler-alist) + (add-to-list 'orig-file-name-handler-alist handler)) + (setq file-name-handler-alist orig-file-name-handler-alist))) ;;; Frame settings (setq default-frame-alist ; Remove most UI `((tool-bar-lines . 0) ; No tool bar - (menu-bar-lines . 0) ; No menu bar - (vertical-scroll-bars) ; No scroll bars - (horizontal-scroll-bars) ; ... at all - (width . 84) ; A /little/ wider than - ; `fill-column' (set later) - (height . 30) - (left-fringe . 8) ; Width of fringes - (right-fringe . 8) ; (8 is default) - (font . ,(pcase acdw/system - (:home "DejaVu Sans Mono 10") - (:work "Consolas 10")))) - frame-inhibit-implied-resize t ; Don't resize randomly - frame-resize-pixelwise t ; Resize by pixels, not chars - ) + (menu-bar-lines . 0) ; No menu bar + (vertical-scroll-bars) ; No scroll bars + (horizontal-scroll-bars) ; ... at all + (width . 84) ; A /little/ wider than + ; `fill-column' (set later) + (height . 30) + (left-fringe . 8) ; Width of fringes + (right-fringe . 8) ; (8 is default) + (font . ,(pcase acdw/system + (:home "DejaVu Sans Mono 10") + (:work "Consolas 10")))) + frame-inhibit-implied-resize t ; Don't resize randomly + frame-resize-pixelwise t ; Resize by pixels, not chars + ) (defun hook--disable-ui-modes () "Disable frame UI using modes, for toggling later." (dolist (mode ;; each mode is of the form (MODE . FRAME-ALIST-VAR) - '((tool-bar-mode . tool-bar-lines) - (menu-bar-mode . menu-bar-lines) - (scroll-bar-mode . vertical-scroll-bars) - (horizontal-scroll-bar-mode . horizontal-scroll-bars) - )) + '((tool-bar-mode . tool-bar-lines) + (menu-bar-mode . menu-bar-lines) + (scroll-bar-mode . vertical-scroll-bars) + (horizontal-scroll-bar-mode . horizontal-scroll-bars) + )) (let ((setting (alist-get (cdr mode) default-frame-alist))) (when (or (not setting) - (= 0 setting)) - (funcall (car mode) -1))))) + (= 0 setting)) + (funcall (car mode) -1))))) (add-hook 'after-init-hook #'hook--disable-ui-modes) @@ -92,11 +81,11 @@ ;; 1. Update `exec-path'. (dolist (path (list (expand-file-name "bin" user-emacs-directory) - (expand-file-name "~/bin") - (expand-file-name "~/.local/bin") - (expand-file-name "~/usr/bin") - (expand-file-name "~/cmd") - (expand-file-name "~/mingw64/bin"))) + (expand-file-name "~/bin") + (expand-file-name "~/.local/bin") + (expand-file-name "~/usr/bin") + (expand-file-name "~/cmd") + (expand-file-name "~/mingw64/bin"))) (when (file-exists-p path) (add-to-list 'exec-path path :append))) @@ -104,27 +93,25 @@ (setenv "PATH" (mapconcat #'identity exec-path path-separator)) ;; 2. Set `package' and `straight' variables. -(setq package-enable-at-startup nil ; not sure if strictly - ; necessary - package-quickstart nil ; ditto +(setq package-enable-at-startup nil + package-quickstart nil straight-host-usernames '((github . "duckwork") - (gitlab . "acdw")) - straight-base-dir acdw/dir ; don't clutter ~/.emacs.d - ) + (gitlab . "acdw")) + straight-base-dir acdw/dir) ;; 3. Bootstrap `straight'. (defvar bootstrap-version) (let ((bootstrap-file (expand-file-name - "straight/repos/straight.el/bootstrap.el" - straight-base-dir)) + "straight/repos/straight.el/bootstrap.el" + straight-base-dir)) (bootstrap-version 5)) (unless (file-exists-p bootstrap-file) (with-current-buffer - (url-retrieve-synchronously - (concat "https://raw.githubusercontent.com/" - "raxod502/straight.el/develop/install.el") - 'silent 'inhibit-cookies) + (url-retrieve-synchronously + (concat "https://raw.githubusercontent.com/" + "raxod502/straight.el/develop/install.el") + 'silent 'inhibit-cookies) (goto-char (point-max)) (eval-print-last-sexp))) (load bootstrap-file nil 'nomessage)) @@ -134,10 +121,10 @@ (defun hook--message-startup-time () "Show Emacs's startup time in the message buffer. For profiling." (message "Emacs ready in %s with %d garbage collections." - (format "%.2f seconds" - (float-time (time-subtract after-init-time - before-init-time))) - gcs-done)) + (format "%.2f seconds" + (float-time (time-subtract after-init-time + before-init-time))) + gcs-done)) (add-hook 'emacs-startup-hook #'hook--message-startup-time) -- cgit 1.4.1-21-gabe81