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>
This commit is contained in:
parent
d6bce3f83d
commit
e5f7fe430d
7 changed files with 178 additions and 52 deletions
|
|
@ -13,7 +13,6 @@ pkgs.makeOverridable
|
|||
|
||||
# $PATH for binaries that need to be available to Emacs
|
||||
emacsBinPath = lib.makeBinPath [
|
||||
depot.users.tazjin.gio-list-apps
|
||||
(currentTelega pkgs.emacsPackages)
|
||||
pkgs.libwebp # for dwebp, required by telega
|
||||
];
|
||||
|
|
@ -100,6 +99,9 @@ pkgs.makeOverridable
|
|||
tvlPackages.rcirc
|
||||
tvlPackages.term-switcher
|
||||
tvlPackages.tvl
|
||||
|
||||
# Dynamic/native modules
|
||||
depot.users.tazjin.gio-list-apps
|
||||
])));
|
||||
|
||||
# Tired of telega.el runtime breakages through tdlib
|
||||
|
|
@ -138,6 +140,12 @@ pkgs.makeOverridable
|
|||
'').overrideAttrs
|
||||
(_: {
|
||||
passthru = {
|
||||
# Expose original Emacs used for my configuration.
|
||||
inherit emacs;
|
||||
|
||||
# Expose the pure emacs with all packages.
|
||||
emacsWithPackages = tazjinsEmacs f;
|
||||
|
||||
# Call overrideEmacs with a function (pkgs -> pkgs) to modify the
|
||||
# packages that should be included in this Emacs distribution.
|
||||
overrideEmacs = f': self l f';
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue