Files
.emacs.d/core/siren-init.el
Jim Myhrberg 2e6dd89003 Store all temporary stuff in a specific cache folder
Instead of using effectively TMPDIR on the machine, let's use a `cache`
folder in the root of the .emacs.d directory.
2019-03-25 17:17:32 +00:00

66 lines
1.6 KiB
EmacsLisp

;;; siren-init.el --- jimeh's Emacs Siren: Initialize all the things
;;; Commentary:
;; Initialize and start loading Emacs Siren config.
;;; Code:
;; Display the total loading time in the minibuffer
(defun display-startup-echo-area-message ()
"Display startup echo area message."
(message "Siren initialized in %s" (emacs-init-time)))
(message "Siren is powering up... Be patient, Master %s!"
(getenv (if (equal system-type 'windows-nt) "USERNAME" "USER")))
;; Check Emacs version.
(when (version< emacs-version "24.1")
(error "Siren requires at least GNU Emacs 24.1, but you're running %s"
emacs-version))
;; Setup basic paths.
(setq siren-core-dir (file-name-directory load-file-name))
(setq siren-dir (expand-file-name ".." siren-core-dir))
(add-to-list 'load-path siren-core-dir)
;; Configure siren-cache-dir
(setq siren-cache-dir (expand-file-name "cache" siren-dir))
(unless (file-exists-p siren-cache-dir)
(make-directory siren-cache-dir))
;; Core stuff
(require 'siren-custom)
(require 'siren-core)
;; Ensure vendor directory load-paths are configured
(require 'siren-vendor)
;; Continue core stuff
(require 'siren-packages)
(require 'siren-env)
(require 'siren-ui)
(require 'siren-editor)
;; OSX specific
(when (eq system-type 'darwin)
(require 'siren-osx))
;; Linux specific
(when (eq system-type 'gnu/linux)
(require 'siren-linux))
;; Config changes made through the customize UI will be store here
(setq custom-file (expand-file-name "custom.el" siren-dir))
(load-file custom-file)
;; The modules
(require 'siren-modules)
;; The theme
(require 'siren-theme)
(provide 'siren-init)
;;; siren-init.el ends here