;; -*- coding: utf-8; lexical-binding: t; -*- ;;; Prolog ;; don't GC during startup to save time (setq gc-cons-percentage 0.6) (setq gc-cons-threshold most-positive-fixnum) ;;; Straight setup with use-package integration (defconst straight-use-package-by-default 't) (defconst bootstrap-version 5) (let ((bootstrap-file (expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory))) (unless (file-exists-p bootstrap-file) (with-current-buffer (url-retrieve-synchronously "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)) ;; call `straight-use-package' once directly to install `use-package'. Other ;; than here the integration is vice versa. I.e. `use-package' uses `straight' ;; internally to fetch packages. (straight-use-package 'use-package) (add-to-list 'load-path (expand-file-name "config" user-emacs-directory)) ;; Base config (load "base-libs") ;; utility libs everything else can rely upon. Load ;; this first. (load "base-config") ;; emacs core configuration (load "diminish") (load "evil") (load "ido") (load "company") (load "theme") ;; Tools (load "git") ;; Languages (load "markdown") (load "eglot") (load "base-keybindings") ;; load this last to ensure all bound symbols are in ;; scope and `base-keybindings' takes precedence ;;; Epilog ;; Set some more modern defaults for gc ;; https://www.reddit.com/r/emacs/comments/55ork0/is_emacs_251_noticeably_slower_than_245_on_windows/ ;; https://github.com/emacs-lsp/lsp-mode#performance (setq gc-cons-threshold (* 100 1024 1024)) (setq gc-cons-percentage 0.1) ; original value ;; (setq garbage-collection-messages t)) ; gc debugging (run-with-idle-timer 5 nil #'garbage-collect) ;;; Local Variables: ;;; no-byte-compile: t ;;; End: