about summary refs log tree commit diff
path: root/emacs/default.nix
diff options
context:
space:
mode:
authorWilliam Carroll <wpcarro@gmail.com>2020-08-26T22·01+0100
committerWilliam Carroll <wpcarro@gmail.com>2020-08-27T16·31+0100
commiteb0e1d8c5d9cd1c1f316797f51720456a2f92f9e (patch)
treeb6cc45894f76cea37b23b69c35560a338b87cde4 /emacs/default.nix
parentea0788fd62cb48b5907f4efeafa4ac58e7fb09f4 (diff)
Prefer builtins.path
Following the advice of Domen's nix.dev anti-patterns, I'm preferring something
like...

```nix
builtins.path { path = /path/to/some.where; name = "some.where"; }
```

...to

```nix
/path/to/some/where
```

While the former is more verbose, it will fail to build when the path doesn't
exist, which I prefer.
Diffstat (limited to 'emacs/default.nix')
-rw-r--r--emacs/default.nix31
1 files changed, 26 insertions, 5 deletions
diff --git a/emacs/default.nix b/emacs/default.nix
index 493782e839..22ac6d31e7 100644
--- a/emacs/default.nix
+++ b/emacs/default.nix
@@ -114,6 +114,26 @@ let
       magit
     ]));
 
+  vendorDir = builtins.path {
+    path = ./.emacs.d/vendor;
+    name = "emacs-vendor";
+  };
+
+  wpcDir = builtins.path {
+    path = ./.emacs.d/wpc;
+    name = "emacs-libs";
+  };
+
+  wpcPackageEl = builtins.path {
+    path = ./.emacs.d/wpc/wpc-package.el;
+    name = "wpc-package.el";
+  };
+
+  initEl = builtins.path {
+    path = ./.emacs.d/init.el;
+    name = "init.el";
+  };
+
   withEmacsPath = emacsBin: pkgs.writeShellScriptBin "wpcarros-emacs" ''
     # TODO: Is this the best way to handle environment variables using Nix?
     export XMODIFIERS=emacs
@@ -126,11 +146,12 @@ let
       --debug-init \
       --no-site-file \
       --no-site-lisp \
-      --directory ${ ./.emacs.d/vendor } \
-      --directory ${ ./.emacs.d/wpc } \
-     --load ${ ./.emacs.d/wpc/wpc-package.el } \
-     --load ${ ./.emacs.d/init.el } \
-      --no-init-file $@
+      --directory ${vendorDir} \
+      --directory ${wpcDir} \
+      --load ${wpcPackageEl} \
+      --load ${initEl} \
+      --no-init-file \
+      $@
   '';
 in {
   # Use `nix-env -f '<briefcase>' emacs.glinux` to install `wpcarro-emacs` on