summaryrefslogtreecommitdiffstats
path: root/init.el
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2020-04-23 18:21:00 +0200
committerMartin Polden <mpolden@mpolden.no>2020-04-23 18:31:44 +0200
commit0a38610e04b52893a48b602c8fdf7584494a1860 (patch)
treecf676d21a11ab7c0f5dede2565c7e9f270ad8cb9 /init.el
parent202c1bc0be0df93f703afffd60a53335aeb80c87 (diff)
Support inhibiting loading of packages
Diffstat (limited to 'init.el')
-rw-r--r--init.el67
1 files changed, 36 insertions, 31 deletions
diff --git a/init.el b/init.el
index 27dc94d..9da2e68 100644
--- a/init.el
+++ b/init.el
@@ -8,50 +8,55 @@
;; save customizations as local (unversioned) settings
(setq custom-file (expand-file-name "init-local.el" lisp-directory)))
+;; load given package unless inhibited through inhibited-packages
+(defun maybe-require (package)
+ (unless (member package inhibited-packages)
+ (require package)))
+
+;; local settings (optional)
+(require 'init-local nil t)
+
;; packages
-(require 'init-package)
+(maybe-require 'init-package)
;; appearance
-(require 'init-appearance)
+(maybe-require 'init-appearance)
;; behaviour
-(require 'init-sane-defaults)
+(maybe-require 'init-sane-defaults)
(when (eq system-type 'darwin)
- (require 'init-mac))
+ (maybe-require 'init-mac))
;; editing
-(require 'init-editing)
-(require 'init-server)
-(require 'init-sessions)
-(require 'init-tramp)
+(maybe-require 'init-editing)
+(maybe-require 'init-server)
+(maybe-require 'init-sessions)
+(maybe-require 'init-tramp)
;; writing
-(require 'init-flyspell)
-(require 'init-writegood)
+(maybe-require 'init-flyspell)
+(maybe-require 'init-writegood)
;; navigation
-(require 'init-amx)
-(require 'init-dired)
-(require 'init-grep)
-(require 'init-ibuffer)
-(require 'init-imenu)
-(require 'init-ivy)
-(require 'init-swiper)
+(maybe-require 'init-amx)
+(maybe-require 'init-dired)
+(maybe-require 'init-grep)
+(maybe-require 'init-ibuffer)
+(maybe-require 'init-imenu)
+(maybe-require 'init-ivy)
+(maybe-require 'init-swiper)
;; managing code
-(require 'init-eglot)
-(require 'init-flymake)
-(require 'init-git)
-(require 'init-projectile)
+(maybe-require 'init-eglot)
+(maybe-require 'init-flymake)
+(maybe-require 'init-git)
+(maybe-require 'init-projectile)
;; languages
-(require 'init-go)
-(require 'init-javascript)
-(require 'init-lisp)
-(require 'init-markdown)
-(require 'init-org)
-(require 'init-python)
-(require 'init-yaml)
-
-;; local settings (optional)
-(require 'init-local nil t)
+(maybe-require 'init-go)
+(maybe-require 'init-javascript)
+(maybe-require 'init-lisp)
+(maybe-require 'init-markdown)
+(maybe-require 'init-org)
+(maybe-require 'init-python)
+(maybe-require 'init-yaml)