From c1a5d7d62ac8c79e00a82d5d09f04a9b9aae2ff4 Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Thu, 19 Dec 2019 14:48:22 +0000 Subject: feat(emacs): Add telega.el support Packages the telega-server binary and adds the required mode into Emacs. Unread message count is displayed in the modeline, which is neat. Probably need to figure out some key bindings for this. --- tools/emacs/config/init.el | 1 + tools/emacs/default.nix | 6 ++++++ 2 files changed, 7 insertions(+) (limited to 'tools') diff --git a/tools/emacs/config/init.el b/tools/emacs/config/init.el index d601efa67d..0be9a33963 100644 --- a/tools/emacs/config/init.el +++ b/tools/emacs/config/init.el @@ -171,6 +171,7 @@ (use-package nix-util) (use-package nginx-mode) (use-package rust-mode) +(use-package telega :config (telega-mode-line-mode 1)) (use-package terraform-mode) (use-package toml-mode) (use-package web-mode) diff --git a/tools/emacs/default.nix b/tools/emacs/default.nix index c44403e6d6..d36673e363 100644 --- a/tools/emacs/default.nix +++ b/tools/emacs/default.nix @@ -11,6 +11,9 @@ let localPackages = pkgs.tools.emacs-pkgs; emacsWithPackages = (third_party.emacsPackagesNgGen third_party.emacs26).emacsWithPackages; + # $PATH for binaries that need to be available to Emacs + emacsBinPath = lib.makeBinPath [ third_party.telega ]; + identity = x: x; tazjinsEmacs = pkgfun: (emacsWithPackages(epkgs: pkgfun( # Actual ELPA packages (the enlightened!) @@ -68,6 +71,7 @@ let sly string-edit swiper + telega telephone-line terraform-mode toml-mode @@ -90,6 +94,7 @@ let term-switcher ])))); in lib.fix(self: l: f: third_party.writeShellScriptBin "tazjins-emacs" '' + export PATH="${emacsBinPath}:$PATH" exec ${tazjinsEmacs f}/bin/emacs \ --debug-init \ --no-site-file \ @@ -109,6 +114,7 @@ in lib.fix(self: l: f: third_party.writeShellScriptBin "tazjins-emacs" '' # Build a derivation that uses the specified local Emacs (i.e. # built outside of Nix) instead withLocalEmacs = emacsBin: third_party.writeShellScriptBin "tazjins-emacs" '' + export PATH="${emacsBinPath}:$PATH" export EMACSLOADPATH="${(tazjinsEmacs f).deps}/share/emacs/site-lisp:" exec ${emacsBin} \ --debug-init \ -- cgit 1.4.1