about summary refs log tree commit diff
path: root/emacs/default.nix
diff options
context:
space:
mode:
authorWilliam Carroll <wpcarro@gmail.com>2020-08-27T17·27+0100
committerWilliam Carroll <wpcarro@gmail.com>2020-08-27T17·29+0100
commit78172233f808f60000b5aa87a1cf92746b856c0c (patch)
tree75bf9b005fa70e56b85b8bead5e21db5c2b15021 /emacs/default.nix
parentd67dbec7e82b7c907d7c1c4fa92ae922abeca059 (diff)
Add build, lint Emacs steps to post-receive pipeline
TL;DR:
- Define runEmacsScript to emacs/default.nix for ci/pipelines/post-receive
- Write script.el to call (load init.el) and catch any errors
- Lint Elisp with gonewest818/elisp-lint

Also nice how Buildkite supports :gnu: emojis!
Diffstat (limited to 'emacs/default.nix')
-rw-r--r--emacs/default.nix15
1 files changed, 15 insertions, 0 deletions
diff --git a/emacs/default.nix b/emacs/default.nix
index e8d52c34cc9d..126894a8fc3a 100644
--- a/emacs/default.nix
+++ b/emacs/default.nix
@@ -148,6 +148,21 @@ let
       "$@"
   '';
 in {
+  inherit initEl;
+
+  # I need to start my Emacs from CI without the call to `--load ${initEl}`.
+  runScript = script: pkgs.writeShellScript "run-emacs-script" ''
+    export BRIEFCASE=$HOME/briefcase
+    export PATH="${emacsBinPath}:$PATH"
+    export EMACSLOADPATH="${wpcDir}:${vendorDir}:${wpcarrosEmacs.deps}/share/emacs/site-lisp"
+    exec ${wpcarrosEmacs}/bin/emacs \
+      --no-site-file \
+      --no-site-lisp \
+      --no-init-file \
+      --script ${script} \
+      "$@"
+  '';
+
   # Use `nix-env -f '<briefcase>' emacs.glinux` to install `wpcarro-emacs` on
   # gLinux machines. This will ensure that X and GL linkage behaves as expected.
   glinux = withEmacsPath "/usr/bin/google-emacs";