Things that I can do to optimize startup time well past reasonable and squarely into the territory of the absurd:
[x] Finish setting up byte-compilation
[x] Configure CircleCI (migrate from Semaphore CI)
[x] Create "safe mode" for straight.el so that compiling does not change the state of the world
[x] Byte-compile asynchronously after successful startup (just use Makefile to run in subprocess)
[x] Put frame appearance customization in early-init.el (with back-compat for Emacs 26)
[x] Load el-patch and use-package at compile time only (requires byte-compilation to actually have an effect, and also requires doing some hackery to include the local init-file in the compilation process so that it can still use these packages)
[ ] Cause M-x restart-emacs to launch a hidden Emacs instance in the background (using safe mode) and either kill it or bring it to the foreground depending on the option chosen.
Things that I can do to optimize startup time well past reasonable and squarely into the territory of the absurd:
straight.el
so that compiling does not change the state of the worldearly-init.el
(with back-compat for Emacs 26)el-patch
anduse-package
at compile time only (requires byte-compilation to actually have an effect, and also requires doing some hackery to include the local init-file in the compilation process so that it can still use these packages)M-x restart-emacs
to launch a hidden Emacs instance in the background (using safe mode) and either kill it or bring it to the foreground depending on the option chosen.