What’s the best practice to have your custom elisp natively compiled, along with external packages?
So far I’ve only succeeded by doing the following:
-
Move my custom elisp to a new file (emacs-lib.el) which starts with
(provide 'emacs-lib)
-
Manually run emacs-lisp-native-compile-and-load while visiting that file
-
Change my init file to load the library:
(setq elisp-dir “~/config/elisp”) (add-to-list 'load-path elisp-dir) (require 'emacs-lib)
After restarting Emacs, I’ve checked that many of my custom functions are indeed native-compiled.
It would be nice if I could have my init file take care of compiling the library when missing or outdated. Even better if I didn’t need the separate file, but that’s no big deal.
Properly package that code (sounds like you’re most of the way there) and let your package manager handle it.