;;; -*- lexical-binding: t; -*- ;; NixOS emacs doesn't include a build time. Assume a recent version. (setq elpaca-core-date 20240101) (setq elpaca-directory "~/.cache/emacs/elpaca") (load-file (expand-file-name "elpaca-installer.el" user-emacs-directory)) (add-hook 'emacs-startup-hook (lambda () (message "Emacs ready in %s with %d garbage collections." (format "%.2f seconds" (float-time (time-subtract after-init-time before-init-time))) gcs-done))) (add-hook 'elpaca-after-init-hook 'kj/restore-file-name-handler-alist) (elpaca elpaca-use-package ;; Enable :elpaca use-package keyword. (elpaca-use-package-mode) ;; Assume :elpaca t unless otherwise specified. (setq elpaca-use-package-by-default t)) (elpaca-wait) (use-package gcmh :hook (elpaca-after-init . kj/enable-gcmh) :config (defun kj/enable-gcmh () (message "Enabling gcmh") (gcmh-mode 1))) ;; Include user configuration. (defvar kj/module-directory (expand-file-name "lisp" user-emacs-directory)) (push kj/module-directory load-path) (require 'kj-lib) (require 'kj-init) (cl-loop for path in (directory-files kj/module-directory) if (string-match "\\([^/]*\\).el" path) do (require (intern (match-string-no-properties 1 path)))) (put 'set-goal-column 'disabled nil)