;; -*- lexical-binding: t; -*- ;; Some startup time optimizations stolen from Doom emacs (setq gc-cons-threshold most-positive-fixnum ; 2^61 bytes gc-cons-percentage 0.6) (defvar file-name-handler-alist-backup file-name-handler-alist) (setq file-name-handler-alist nil) (add-hook 'emacs-startup-hook (lambda () (setq gc-cons-threshold 16777216 ; 16mb gc-cons-percentage 0.1 file-name-handler-alist file-name-handler-alist-backup))) ;; Start the server after init (add-hook 'emacs-startup-hook #'server-start) ;; Bootstrap the straight.el package manager (defvar bootstrap-version) (let ((bootstrap-file (expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory)) (bootstrap-version 5)) (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)) ;; Load up use-package for subsequent configuration (straight-use-package 'use-package) (setq straight-use-package-by-default t) ;; Fix $PATH (use-package exec-path-from-shell :hook (after-init . exec-path-from-shell-initialize) :custom (exec-path-from-shell-variables '("PATH" "MANPATH" "LEDGER_FILE" "LOLA_HOME" "MODELS_HOME" "LOLA_TRAVEL_SERVICE_HOME" "WORKON_HOME" "PIPENV_VERBOSITY" "PIPENV_DONT_LOAD_ENV" "PIPENV_MAX_DEPTH" "PYENV_ROOT" "KOPS_STATE_STORE" "PLAID_CLIENT_ID" "PLAID_SECRET" "PLAID_ENVIRONMENT")) (exec-path-from-shell-check-startup-files nil) (exec-path-from-shell-arguments '("-l"))) ;; Don't use this file as the custom-file (setq custom-file (expand-file-name "custom.el" user-emacs-directory)) ;; Load config modules (add-to-list 'load-path (expand-file-name "config" user-emacs-directory)) (require 'init-defaults) (require 'init-undo) (require 'init-evil) (require 'init-keybindings) (require 'init-auth) (require 'init-lib) (require 'init-org) (require 'init-profiler) (require 'init-built-ins) (require 'init-dashboard) (require 'init-dotfiles) (require 'init-buffers) (require 'init-files) (require 'init-windows) (require 'init-dired) (require 'init-completion) (require 'init-editing) (require 'init-ui) (require 'init-projects) (require 'init-git) (require 'init-ide) (require 'init-vterm) (require 'init-eshell) (require 'init-help) (require 'init-python) (require 'init-clojure) (require 'init-yaml) (require 'init-terraform) (require 'init-run-command) (require 'init-aws) (require 'init-prodigy) (require 'init-direnv) (require 'init-email) ;; Load the custom file (when (file-exists-p custom-file) (load custom-file))