Files
nix-doom-emacs/advice.el
László Vaskó 23cf6b9884 support gccEmacs
If built with gccEmacs, in `straight--native-compile-package` step tries
to access $HOME because `comp-eln-load-path` contains
"~/.emacs.d/eln-cache/". It errors on this as it is set to a readonly canary value of
`/homeless-shellter` in the nix build sandbox.

The workaround is twofold:
 * Ignore `kill-emacs` from optimization. It would result in eln file
   being written before doom sets up the load path outside of HOME.
 * The above solution doesn't help in the actual build phase because the
   worker processes compiling packages does not inherit this value but
   it is set in them at a later time. This causes the build to fail
   before `comp-eln-load-path` would be successfully overridden. Having
   a writable $HOME does not seem to produce any build output there
   hence the override and the check in `postInstall` to verify that the
   directory is indeed empty.

The runtime value of `comp-eln-load-path` also had to be changed because
it is by default is located under the volatile `doom-cache-dir` which is
not a part of the derivation so the build time generated `.eln` files
couldn't be loaded from that.

References: #57
2020-09-27 12:37:17 +02:00

2.0 KiB