]> jturnerusa.dev Git - emacs.d/commitdiff
use early-init.el to allow setting native comp cache dir
authorJohn Turner <jturner.usa@gmail.com>
Sat, 25 Mar 2023 07:28:06 +0000 (03:28 -0400)
committerJohn Turner <jturner.usa@gmail.com>
Sun, 26 Mar 2023 04:20:56 +0000 (00:20 -0400)
Some of the init.el setup code moved to early-init.el to allow loading
our init modules in early init.

Loading the native comp init module in init.el set the cache directory variable
too late and resulted in the original directory still being populated
with eln files.

early-init.el [new file with mode: 0644]
init.el
init/native-comp/init-native-comp.el

diff --git a/early-init.el b/early-init.el
new file mode 100644 (file)
index 0000000..de9661e
--- /dev/null
@@ -0,0 +1,40 @@
+(setq auth-source-save-behavior nil
+      auto-save-default nil
+      change-major-mode-with-file-name nil
+      custom-buffer-indent 4
+      custom-file (file-name-concat user-emacs-directory "custom.el")
+      custom-theme-directory (file-name-concat user-emacs-directory "themes/")
+      debugger 'edebug
+      enable-local-variables :safe
+      inferior-lisp-program "sbcl"
+      inhibit-splash-screen t
+      make-backup-files nil
+      scheme-program-name "guile"
+      tab-width 4
+      temporary-file-directory (file-name-concat (getenv "HOME") "tmp" ".emacs"))
+
+(setq-default display-fill-column-indicator-column 120
+              indent-tabs-mode nil)
+
+(let* ((init-modules-wildcard
+        (file-name-concat user-emacs-directory "init" "*"))
+       (lisp-modules-wildcard
+        (file-name-concat user-emacs-directory "lisp" "*"))
+       (init-modules-files
+        (file-expand-wildcards init-modules-wildcard t))
+       (lisp-modules-files
+        (file-expand-wildcards lisp-modules-wildcard t))
+       (files
+        (append init-modules-files lisp-modules-files))
+       (directories
+        (seq-filter 'file-directory-p files)))
+  (mapc (lambda (directory)
+          (add-to-list 'load-path directory))
+        directories))
+
+(mkdir temporary-file-directory t)
+
+(require 'init-garbage-collection)
+
+(when (and (>= emacs-major-version 29) (native-comp-available-p))
+  (require 'init-native-comp))
diff --git a/init.el b/init.el
index a73be6b198dc6d2855b655f3a7f01d2d77b089b6..85a711bf1af70585f31ba014a41e7012feba0e4f 100644 (file)
--- a/init.el
+++ b/init.el
@@ -1,42 +1,9 @@
-(require 'seq)
-
-(setq auth-source-save-behavior nil
-      auto-save-default nil
-      change-major-mode-with-file-name nil
-      custom-buffer-indent 4
-      custom-file (file-name-concat user-emacs-directory "custom.el")
-      custom-theme-directory (file-name-concat user-emacs-directory "themes/")
-      debugger 'edebug
-      enable-local-variables :safe
-      inferior-lisp-program "sbcl"
-      inhibit-splash-screen t
-      make-backup-files nil
-      scheme-program-name "guile"
-      tab-width 4)
-
-(setq-default display-fill-column-indicator-column 120
-              indent-tabs-mode nil)
-
-(let* ((init-modules-wildcard
-        (file-name-concat user-emacs-directory "init" "*"))
-       (lisp-modules-wildcard
-        (file-name-concat user-emacs-directory "lisp" "*"))
-       (init-modules-files
-        (file-expand-wildcards init-modules-wildcard t))
-       (lisp-modules-files
-        (file-expand-wildcards lisp-modules-wildcard t))
-       (files
-        (append init-modules-files lisp-modules-files))
-       (directories
-        (seq-filter 'file-directory-p files)))
-  (mapc (lambda (directory)
-          (add-to-list 'load-path directory))
-        directories))
-
 (defmacro require? (feature)
   `(require ,feature nil t))
 
-(require? 'site-gentoo)
+(unless (when-let ((e (getenv "NO_SITE_GENTOO")))
+          (string= e "1"))
+  (require? 'site-gentoo))
 
 (require? 'magit)
 
@@ -50,7 +17,6 @@
 (require 'init-eldoc)
 (require 'init-electric)
 (require 'init-flymake)
-(require 'init-garbage-collection)
 (require 'init-ibuffer)
 (require 'init-ielm)
 (require 'init-keys)
 (when (require? 'lsp-mode)
   (require 'init-lsp-mode))
 
-(when (and (> emacs-major-version 28) (native-comp-available-p))
-  (require 'init-native-comp))
-
 (when (require? 'pixel-scroll)
   (require 'init-pixel-scroll))
 
 (when (and (require? 'treesit) (treesit-available-p))
   (require 'init-treesit))
+
 (require 'man-completion)
 
 (require 'license-boilerplate)
index 9ae048993f29e1520dfbd33485543d74e1b75bd9..630a0837c75bad0b10cf3fee4139cd3a1e669b6f 100644 (file)
@@ -1,3 +1,4 @@
-(setq native-comp-async-jobs-number (string-to-number (shell-command-to-string "nproc")))
+(setq native-comp-async-jobs-number (string-to-number (shell-command-to-string "nproc"))
+      native-compile-target-directory temporary-file-directory)
 
 (provide 'init-native-comp)