;;; init.el --- The Emacs init file ;; ;;; Commentary: ;; This is the main configuration file for Emacs. ;; In this file: ;; - Set the bootstratp for straight.el ;; - Load use-package ;; - Load no-littering ;; - Set user-init-directory to ~/.cache/emacs ;; - Install the latest release of org ;; - Load the file ~/.emacs.d/myconfig.org ;; ;;; Code: ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; set up straight package manager ;; ;; set new location for straight.el (setq straight-base-dir (expand-file-name "~/.cache/emacs/var")) ;; (defvar bootstrap-version) (let ((bootstrap-file (expand-file-name "straight/repos/straight.el/bootstrap.el" straight-base-dir)) (bootstrap-version 6)) (unless (file-exists-p bootstrap-file) (with-current-buffer (url-retrieve-synchronously "https://raw.githubusercontent.com/radian-software/straight.el/develop/install.el" 'silent 'inhibit-cookies) (goto-char (point-max)) (eval-print-last-sexp))) (load bootstrap-file nil 'nomessage)) ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Install and configure use-package (straight-use-package 'use-package) (setq straight-use-package-by-default t) ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Keep emacs clean! ;; Use no-littering to automatically set common paths to the new user-emacs-directory (use-package no-littering :init ;; set paths for no-littering etc and var directories ;; instead of this paths, you could use ;; (setq user-emacs-directory (expand-file-name "~/.cache/emacs")) (setq no-littering-etc-directory (expand-file-name "~/.cache/emacs/etc") no-littering-var-directory (expand-file-name "~/.cache/emacs/var") ) :config ;; set sensible defaults for backups (no-littering-theme-backups) ;; set paths for url-history-file and custom-file (setq url-history-file (no-littering-expand-etc-file-name "url/history") custom-file (no-littering-expand-etc-file-name "custom.el")) ) ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Install org-mode (straight-use-package 'org) ;; ;; (provide 'init) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; init.el ends here