tvl-depot/users/tazjin/gio-list-apps/default.nix
Vincent Ambo e5f7fe430d refactor(tazjin/gio-list-apps): refactor into dynamic Emacs module
Instead of producing a binary that gets called by Emacs, with
input/output serialisation, use a dynamic Emacs module that lets Emacs
more-or-less directly call the relevant GTK functions.

I'm doing this mostly as an experiment. Might be interesting to end up
with a dynamic module that I can dump some experimental code into that
improves my workflows.

To do this, I've exposed the emacs binary used by my Emacs
configuration in an additional `passthru` field. This ensures that the
module is linked against the right version of Emacs.

Change-Id: I1426994fe3455ed1b2a685c5a09705e29fa40950
Reviewed-on: https://cl.tvl.fyi/c/depot/+/9163
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
2023-08-29 14:07:11 +00:00

14 lines
413 B
Nix

{ depot, pkgs, lib, ... }:
pkgs.rustPlatform.buildRustPackage {
name = "gio-list-apps";
src = lib.cleanSource ./.;
cargoLock.lockFile = ./Cargo.lock;
nativeBuildInputs = [ pkgs.pkg-config ];
buildInputs = [ pkgs.gtk3 depot.users.tazjin.emacs.emacs ];
postInstall = ''
mkdir -p $out/share/emacs/site-lisp
ln -s $out/lib/libgio_list_apps.so $out/share/emacs/site-lisp/gio-list-apps.so
'';
}