about summary refs log tree commit diff
path: root/tools
diff options
context:
space:
mode:
authorVincent Ambo <tazjin@google.com>2019-12-19T14·48+0000
committerVincent Ambo <tazjin@google.com>2019-12-19T14·48+0000
commitc1a5d7d62ac8c79e00a82d5d09f04a9b9aae2ff4 (patch)
treeef2b8eea4ee990ab0aa36d13864e38cd359b0d12 /tools
parent166aff23bcffc2afa5ca5ac475f5866b759be443 (diff)
feat(emacs): Add telega.el support r/199
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.
Diffstat (limited to 'tools')
-rw-r--r--tools/emacs/config/init.el1
-rw-r--r--tools/emacs/default.nix6
2 files changed, 7 insertions, 0 deletions
diff --git a/tools/emacs/config/init.el b/tools/emacs/config/init.el
index d601efa67df9..0be9a33963bf 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 c44403e6d692..d36673e363f4 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 \