From aa502c3bafe089cde5ebe0a964d1bf435435fabe Mon Sep 17 00:00:00 2001 From: William Carroll Date: Thu, 27 Jan 2022 22:21:37 -0800 Subject: feat(wpcarro/emacs): Support marcus.el Sometimes I need device-specific Elisp. This is similar to what I'm doing in google-briefcase (my gLinux-specific configuration). Change-Id: Idc4031e74d31a91fb8d943acfaeb90b8742fbfc4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5084 Reviewed-by: wpcarro Autosubmit: wpcarro Tested-by: BuildkiteCI --- users/wpcarro/emacs/default.nix | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'users/wpcarro/emacs') diff --git a/users/wpcarro/emacs/default.nix b/users/wpcarro/emacs/default.nix index 40e6f8d65d29..c2669f6949e5 100644 --- a/users/wpcarro/emacs/default.nix +++ b/users/wpcarro/emacs/default.nix @@ -3,12 +3,11 @@ # 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. let - inherit (builtins) path; inherit (depot.third_party.nixpkgs) emacsPackagesGen emacs27; inherit (depot.users) wpcarro; - inherit (pkgs) runCommand writeShellScriptBin; inherit (lib) mapAttrsToList; inherit (lib.strings) concatStringsSep makeBinPath; + inherit (pkgs) runCommand writeShellScriptBin; emacsBinPath = makeBinPath ( wpcarro.common.shell-utils ++ @@ -129,7 +128,7 @@ let makeEnvVars = env: concatStringsSep "\n" (mapAttrsToList (k: v: "export ${k}=\"${v}\"") env); - withEmacsPath = { emacsBin, env ? {} }: + withEmacsPath = { emacsBin, env ? {}, load ? [] }: writeShellScriptBin "wpcarros-emacs" '' export XMODIFIERS=emacs export PATH="${emacsBinPath}:$PATH" @@ -141,12 +140,14 @@ let --no-site-file \ --no-site-lisp \ --load ${./.emacs.d/init.el} \ + ${concatStringsSep "\n" (map (el: "--load ${el} \\") load)} "$@" ''; in { inherit withEmacsPath; - nixos = withEmacsPath { + nixos = { load ? [] }: withEmacsPath { + inherit load; emacsBin = "${wpcarrosEmacs}/bin/emacs"; }; @@ -166,5 +167,5 @@ in { touch $out ''; - meta.targets = [ "nixos" "check" ]; + meta.targets = [ "check" ]; } -- cgit 1.4.1