about summary refs log tree commit diff stats
path: root/.emacs.d/init.el
diff options
context:
space:
mode:
authorDavid Morgan <djm_uk@protonmail.com>2022-10-18 16:27:27 +0100
committerDavid Morgan <djm_uk@protonmail.com>2022-10-18 16:27:27 +0100
commit0b7b8e2e7925c3fead94288756cce6ea83b7532b (patch)
treecc36f27b24659b5d7877bf308992a6997aab3e06 /.emacs.d/init.el
parente1f7d9ddcd335b99f4a672579189ba8c1f43c915 (diff)
downloaddotfiles-0b7b8e2e7925c3fead94288756cce6ea83b7532b.tar.gz
Try a difference approach to upgraded packages
Diffstat (limited to '.emacs.d/init.el')
-rw-r--r--.emacs.d/init.el66
1 files changed, 37 insertions, 29 deletions
diff --git a/.emacs.d/init.el b/.emacs.d/init.el
index 74fcacf..18e46f4 100644
--- a/.emacs.d/init.el
+++ b/.emacs.d/init.el
@@ -28,34 +28,42 @@
                                (setq gc-cons-threshold (* 100 1024 1024)
                                      gc-cons-percentage 0.1)))
 
-(require 'init-packages)
-(require 'init-ui)
-(require 'init-compile)
-(require 'init-editor)
-(require 'init-search)
-(require 'init-windows)
-(require 'init-project)
-(require 'init-modeline)
-(require 'init-completion)
-(require 'init-minibuffer)
-(require 'init-navigation)
-(require 'init-kill)
-(require 'init-dired)
-(require 'init-smartparens)
-(require 'init-emacs-lisp)
-(require 'init-clojure)
-(require 'init-paredit)
-(require 'init-crux)
-(require 'init-lsp)
-(require 'init-git)
-(require 'init-shell)
-(require 'init-org)
-;;(require 'init-latex)
-(require 'init-xml)
-(require 'init-web)
-(require 'init-misc)
-(require 'init-tramp)
-(require 'init-sql)
-(require 'init-local nil t)
+;; Some straight functions need to be able to reload everything, so require won't do
+(defun require! (feature &optional filename noerror)
+  "Like `require', but if `force-reload' is non-nil, `load' instead.
+`FEATURE', `FILENAME' and `NOERROR' have the same meaning as with require"
+  (if (and (boundp 'force-reload) force-reload)
+      (load (prin1-to-string feature) noerror nil nil t)
+    (require feature filename noerror)))
+
+(require! 'init-packages)
+(require! 'init-ui)
+(require! 'init-compile)
+(require! 'init-editor)
+(require! 'init-search)
+(require! 'init-windows)
+(require! 'init-project)
+(require! 'init-modeline)
+(require! 'init-completion)
+(require! 'init-minibuffer)
+(require! 'init-navigation)
+(require! 'init-kill)
+(require! 'init-dired)
+(require! 'init-smartparens)
+(require! 'init-emacs-lisp)
+(require! 'init-clojure)
+(require! 'init-paredit)
+(require! 'init-crux)
+(require! 'init-lsp)
+(require! 'init-git)
+(require! 'init-shell)
+(require! 'init-org)
+;;(require! 'init-latex)
+(require! 'init-xml)
+(require! 'init-web)
+(require! 'init-misc)
+(require! 'init-tramp)
+(require! 'init-sql)
+(require! 'init-local nil t)
 
 ;;; init.el ends here