nixos/home/emacs/config/init.el

38 lines
1.4 KiB
EmacsLisp
Raw Normal View History

;;; init.el -*- lexical-binding: t; -*-
;;; Initial phase.
;; Load the custom file if it exists. Among other settings, this will
;; have the list `package-selected-packages', so we need to load that
;; before adding more packages. The value of the `custom-file'
;; variable must be set appropriately, by default the value is nil.
;; This can be done here, or in the early-init.el file.
(setq custom-file (expand-file-name "custom.el" user-emacs-directory))
(when (and custom-file (file-exists-p custom-file))
(load custom-file nil :nomessage))
;; Adds crafted-emacs modules to the `load-path', sets up a module
;; writing template, sets the `crafted-emacs-home' variable.
(load "~/Projects/crafted-emacs/modules/crafted-init-config")
;;; Configuration phase
;; Some example modules to configure Emacs. Don't blindly copy these,
;; they are here for example purposes. Find the modules which work
;; for you and add them here.
;; (require 'crafted-defaults-config)
;; (require 'crafted-startup-config)
;;; Optional configuration
;; Profile emacs startup
(defun crafted-startup-example/display-startup-time ()
"Display the startup time after Emacs is fully initialized."
(message "Crafted Emacs loaded in %s."
(emacs-init-time)))
(add-hook 'emacs-startup-hook #'crafted-startup-example/display-startup-time)
;; Set default coding system (especially for Windows)
(set-default-coding-systems 'utf-8)