;;; init.el --- Initialize my Emacs configuration ;;; Commentary: ;;; Code: (setq gc-cons-threshold 64000000) (add-hook 'after-init-hook #'(lambda () ;; restore after startup (setq gc-cons-threshold 800000))) (require 'package) (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/")) (progn (message "initializing package") (package-initialize)) (unless (package-installed-p 'use-package) (package-refresh-contents) (package-install 'use-package)) (eval-when-compile (require 'use-package)) (setq use-package-verbose t) (setq use-package-always-ensure nil) (defun my/package-install-refresh-contents (&rest args) "Refresh the package content, takes an optional ARGS." ;; Whenever use-package statements use ensure (directly or via ;; use-package-always-ensure), we need to refresh the package contents first, ;; as installation fails otherwise: ;; https://github.com/jwiegley/use-package/issues/256#issuecomment-263313693 (package-refresh-contents) (advice-remove 'package-install 'my/package-install-refresh-contents)) (advice-add 'package-install :before 'my/package-install-refresh-contents) (add-to-list 'load-path (expand-file-name "custom/" user-emacs-directory)) (add-to-list 'load-path (expand-file-name "elisp/" user-emacs-directory)) (require 'my-settings) (require 'my-ui) (require 'my-navigation) (require 'my-completion) (require 'my-edit) (require 'my-text) (require 'my-git) (require 'my-org) (require 'my-conf) (require 'my-prog) (require 'my-eshell) (require 'my-tramp) (require 'my-notmuch) (require 'my-buffers) (require 'my-git-extra) (require 'my-strings) (require 'my-web) (require 'my-work) (require 'my-packages-extra) ;;; init.el ends here