diff options
author | William Carroll <wpcarro@gmail.com> | 2022-01-18T20·06-0800 |
---|---|---|
committer | wpcarro <wpcarro@gmail.com> | 2022-01-23T05·15+0000 |
commit | e37b8c9d8c4c7108b3e507ab996decbf6e683c78 (patch) | |
tree | 9802fd6d3fcfe7ba68921fb445450085e3a7aca1 /users/wpcarro/emacs/default.nix | |
parent | 8a27ed19c3ad97e98df53c8d2c4cd8ef4c3b3448 (diff) |
refactor(wpcarro/emacs): Expose env as kwarg in withEmacsPath r/3665
This allows me to remove google-briefcase references. Change-Id: I61234b2ac20e0de0f3d0d820a471342124d72f2d Reviewed-on: https://cl.tvl.fyi/c/depot/+/4996 Tested-by: BuildkiteCI Reviewed-by: wpcarro <wpcarro@gmail.com>
Diffstat (limited to 'users/wpcarro/emacs/default.nix')
-rw-r--r-- | users/wpcarro/emacs/default.nix | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/users/wpcarro/emacs/default.nix b/users/wpcarro/emacs/default.nix index 54c1a50cfa72..20ef805dba8a 100644 --- a/users/wpcarro/emacs/default.nix +++ b/users/wpcarro/emacs/default.nix @@ -1,4 +1,4 @@ -{ pkgs, depot, ... }: +{ depot, pkgs, lib, ... }: # TODO(wpcarro): See if it's possible to expose emacsclient on PATH, so that I # don't need to depend on wpcarros-emacs and emacs in my NixOS configurations. @@ -7,7 +7,8 @@ let inherit (depot.third_party.nixpkgs) emacsPackagesGen emacs27; inherit (depot.users) wpcarro; inherit (pkgs) writeShellScript writeShellScriptBin; - inherit (pkgs.lib.strings) concatStringsSep makeBinPath; + inherit (lib) mapAttrsToList; + inherit (lib.strings) concatStringsSep makeBinPath; emacsBinPath = makeBinPath ( wpcarro.common.shell-utils ++ @@ -146,12 +147,16 @@ let "${wpcarrosEmacs.deps}/share/emacs/site-lisp:" ]; - withEmacsPath = { emacsBin }: + # Transform an attrset into "export k=v" statements. + makeEnvVars = env: concatStringsSep "\n" + (mapAttrsToList (k: v: "export ${k}=\"${v}\"") env); + + withEmacsPath = { emacsBin, env ? {} }: writeShellScriptBin "wpcarros-emacs" '' export XMODIFIERS=emacs - export GOOGLE_BRIEFCASE="$HOME/google-briefcase" export PATH="${emacsBinPath}:$PATH" export EMACSLOADPATH="${loadPath}" + ${makeEnvVars env} exec ${emacsBin} \ --debug-init \ --no-init-file \ |