;;; init.el --- Spacemacs Initialization File -*- no-byte-compile: t -*- ;; ;; Copyright (c) 2012-2022 Sylvain Benner & Contributors ;; ;; Author: Sylvain Benner ;; URL: https://github.com/syl20bnr/spacemacs ;; ;; This file is not part of GNU Emacs. ;; ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;; Without this comment emacs25 adds (package-initialize) here ;; (package-initialize) ;; Avoid garbage collection during startup. ;; see `SPC h . dotspacemacs-gc-cons' for more info (defconst emacs-start-time (current-time)) (setq gc-cons-threshold 402653184 gc-cons-percentage 0.6) (load (concat (file-name-directory load-file-name) "core/core-load-paths") nil (not init-file-debug)) (load (concat spacemacs-core-directory "core-versions") nil (not init-file-debug)) (load (concat spacemacs-core-directory "core-dumper") nil (not init-file-debug)) ;; Remove compiled core files if they become stale or Emacs version has changed. (load (concat spacemacs-core-directory "core-compilation") nil (not init-file-debug)) (load spacemacs--last-emacs-version-file t (not init-file-debug)) (when (or (not (string= spacemacs--last-emacs-version emacs-version)) (> 0 (spacemacs//dir-byte-compile-state (concat spacemacs-core-directory "libs/")))) (spacemacs//remove-byte-compiled-files-in-dir spacemacs-core-directory)) ;; Update saved Emacs version. (unless (string= spacemacs--last-emacs-version emacs-version) (spacemacs//update-last-emacs-version)) (if (not (version<= spacemacs-emacs-min-version emacs-version)) (error (concat "Your version of Emacs (%s) is too old. " "Spacemacs requires Emacs version %s or above.") emacs-version spacemacs-emacs-min-version) ;; Disabling file-name-handlers for a speed boost during init might seem like ;; a good idea but it causes issues like ;; https://github.com/syl20bnr/spacemacs/issues/11585 "Symbol's value as ;; variable is void: \213" when emacs is not built having: ;; `--without-compress-install` (let ((please-do-not-disable-file-name-handler-alist nil)) (require 'core-spacemacs) (spacemacs/dump-restore-load-path) (configuration-layer/load-lock-file) (spacemacs/init) (configuration-layer/stable-elpa-init) (configuration-layer/load) (spacemacs-buffer/display-startup-note) (spacemacs/setup-startup-hook) (spacemacs/dump-eval-delayed-functions) (when (and dotspacemacs-enable-server (not (spacemacs-is-dumping-p))) (require 'server) (when dotspacemacs-server-socket-dir (setq server-socket-dir dotspacemacs-server-socket-dir)) (unless (server-running-p) (message "Starting a server...") (server-start)))))