From 4f84e8e783b7f977aa1d683f8d68ddc87e091724 Mon Sep 17 00:00:00 2001 From: Jakob L. Kreuze Date: Sun, 17 Jul 2022 18:55:53 -0400 Subject: experiment: Conditional use of `load-module'. --- init.el | 56 +++++++++++++++++++++++++++++++------------------------- 1 file changed, 31 insertions(+), 25 deletions(-) diff --git a/init.el b/init.el index c185118..d228c1d 100644 --- a/init.el +++ b/init.el @@ -155,11 +155,13 @@ (end-of-file (setq eof t)))) `(progn ,@(reverse forms))))) -(defmacro load-module (name) +(defmacro load-module (name &optional condition) "Locate the module NAME and insert its contents as a progn." (let* ((file-name (concat name ".el")) (path (expand-file-name file-name module-directory))) - `(insert-code-from-file ,path))) + (if condition + `(expand-when ,condition (insert-code-from-file ,path)) + `(insert-code-from-file ,path)))) (defmacro expand-when (conditional &rest form) "Expand if and only if `CONDITIONAL' is truthy at compile-time." @@ -182,28 +184,32 @@ (load-module "core") (load-module "jakob") -(load-module "appearance") -(load-module "appearance/theme") -(load-module "appearance/modeline") (load-module "quality-of-life") -(load-module "shell") -(load-module "terminal") -(load-module "system") (load-module "documents") -(load-module "irc") -(load-module "rss") -(load-module "news") -(load-module "programming") -(load-module "programming/rust") -(load-module "programming/c") -(load-module "programming/c++") -(load-module "programming/elisp") -(load-module "programming/common-lisp") -(load-module "programming/markup") -(load-module "programming/scheme") -(load-module "programming/janet") -(load-module "programming/javascript") -(load-module "programming/graphql") -(load-module "programming/python") -(load-module "programming/lua") -(load-module "programming/haskell") + +(expand-when (not (member (system-name) '("theta"))) + (load-module "appearance") + (load-module "appearance/theme") + (load-module "appearance/modeline") + + (load-module "shell") + (load-module "terminal") + (load-module "system") + (load-module "irc") + (load-module "rss") + (load-module "news") + + (load-module "programming") + (load-module "programming/rust") + (load-module "programming/c") + (load-module "programming/c++") + (load-module "programming/elisp") + (load-module "programming/common-lisp") + (load-module "programming/markup") + (load-module "programming/scheme") + (load-module "programming/janet") + (load-module "programming/javascript") + (load-module "programming/graphql") + (load-module "programming/python") + (load-module "programming/lua") + (load-module "programming/haskell")) -- cgit v1.3