diff options
author | Vincent Ambo <tazjin@tvl.su> | 2023-08-29T12·43+0300 |
---|---|---|
committer | clbot <clbot@tvl.fyi> | 2023-08-29T14·07+0000 |
commit | e5f7fe430d582c96b911b79dad03fad7c2d6aa9e (patch) | |
tree | 16528afb6d7aabedac82244ef8f3556ed23f13c9 /users/tazjin/emacs/default.nix | |
parent | d6bce3f83d2c1052c38ecba1445bbc10a9f03123 (diff) |
refactor(tazjin/gio-list-apps): refactor into dynamic Emacs module r/6534
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>
Diffstat (limited to 'users/tazjin/emacs/default.nix')
-rw-r--r-- | users/tazjin/emacs/default.nix | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/users/tazjin/emacs/default.nix b/users/tazjin/emacs/default.nix index e9acf57da1dc..022d78ff4b85 100644 --- a/users/tazjin/emacs/default.nix +++ b/users/tazjin/emacs/default.nix @@ -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'; |