;; -*- lexical-binding: t; -*- ;;; early-init.el --- Emacs pre package.el & GUI configuration -*- lexical-binding: t; -*- (setq package-enable-at-startup nil) (setq inhibit-default-init nil) (setq native-comp-async-report-warnings-errors nil) (defvar default-file-name-handler-alist file-name-handler-alist) (setq file-name-handler-alist nil) (setq gc-cons-threshold most-positive-fixnum gc-cons-percentage 1) (defun +gc-after-focus-change () "Run GC when frame loses focus." (run-with-idle-timer 5 nil (lambda () (unless (frame-focus-state) (garbage-collect))))) (defun +reset-init-values () (run-with-idle-timer 1 nil (lambda () (setq file-name-handler-alist default-file-name-handler-alist gc-cons-percentage 0.1 gc-cons-threshold 100000000) (message "gc-cons-threshold & file-name-handler-alist restored") (when (boundp 'after-focus-change-function) (add-function :after after-focus-change-function #'+gc-after-focus-change))))) (with-eval-after-load 'elpaca (add-hook 'elpaca-after-init-hook '+reset-init-values)) (push '(menu-bar-lines . 0) default-frame-alist) (push '(tool-bar-lines . 0) default-frame-alist) (push '(vertical-scroll-bars) default-frame-alist) (setq server-client-instructions nil) (setq frame-inhibit-implied-resize t) (push '(font . "Iosevka Comfy Motion") default-frame-alist) (set-face-font 'default "Iosevka Comfy Motion") (set-face-font 'variable-pitch "Iosevka Comfy Motion Duo") (copy-face 'default 'fixed-pitch) (advice-add #'x-apply-session-resources :override #'ignore) (setq desktop-restore-forces-onscreen nil) (setq ring-bell-function #'ignore inhibit-startup-screen t)