diff options
Diffstat (limited to 'users/tazjin/emacs')
-rw-r--r-- | users/tazjin/emacs/config/functions.el | 9 | ||||
-rw-r--r-- | users/tazjin/emacs/default.nix | 10 |
2 files changed, 12 insertions, 7 deletions
diff --git a/users/tazjin/emacs/config/functions.el b/users/tazjin/emacs/config/functions.el index df36c7eb882c..3739d25122ef 100644 --- a/users/tazjin/emacs/config/functions.el +++ b/users/tazjin/emacs/config/functions.el @@ -2,6 +2,8 @@ (require 'dash) (require 'map) +(require 'gio-list-apps) ;; native module! + (defun goto-line-with-feedback () "Show line numbers temporarily, while prompting for the line number input" (interactive) @@ -336,12 +338,7 @@ names, instead of only their names (which might change)." "Use `//users/tazjin/gio-list-apps' to retrieve a list of installed (and visible) XDG apps, and let users launch them." (interactive) - (let* ((apps-json (s-lines (s-trim (shell-command-to-string "gio-list-apps")))) - (apps (seq-map (lambda (app) - (let ((parsed (json-parse-string app :object-type 'alist))) - (cons (cdr (assoc 'name parsed)) - (cdr (assoc 'commandline parsed))))) - apps-json)) + (let* ((apps (taz-list-xdg-apps)) ;; Display the command that will be run as an annotation (completion-extra-properties 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'; |