;;; init.el --- A (reasonably) minimal initialization file for Emacs. ;; Manage package configuration via `use-package`. ;; https://github.com/jwiegley/use-package (require 'package) (setq package-enable-at-startup nil) (setq package-archives '(("gnu" . "https://elpa.gnu.org/packages/") ("melpa" . "https://melpa.org/packages/") ("stable" . "https://stable.melpa.org/packages/"))) (unless (package-installed-p 'use-package) (package-refresh-contents) (package-install 'use-package)) ;; Define a couple simple helper functions for loading user-defined ;; configuration files. (defconst user-init-dir "~/.emacs.d/") (defun load-user-file (file) (interactive "f") "Load a file in the current user's configuration directory" (load-file (expand-file-name file user-init-dir))) (defun load-user-dir (dir) (interactive "f") "Recursively load all files in a given directory, relative to the user's configuration directory" (setq config-dir (file-name-concat user-init-dir dir)) (dolist (file (directory-files-recursively config-dir "")) (load-user-file file))) ;; Load all user-defined configuration files: (load-user-file "key-bindings.el") (load-user-file "typography.el")