about summary refs log tree commit diff
diff options
context:
space:
mode:
authorGriffin Smith <grfn@gws.fyi>2022-06-14T14·15-0400
committerclbot <clbot@tvl.fyi>2022-07-11T14·44+0000
commit539d69f565f0f3ada8a08ebc5a199b97dbc89b73 (patch)
treea00de4b7a6073ae454bff948728cd956b7643dd8
parenta37f0eed21617fd914c84cca35761bad802a989d (diff)
feat(grfn/home): Add binding for extracting patch from email r/4286
Change-Id: Id568f8b479cebe547e1ad8a309ccfa395bf99b83
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5935
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
Autosubmit: grfn <grfn@gws.fyi>
-rw-r--r--users/grfn/emacs.d/email.el11
-rw-r--r--users/grfn/pkgs/notmuch-extract-patch.nix18
-rw-r--r--users/grfn/system/home/modules/email.nix1
3 files changed, 30 insertions, 0 deletions
diff --git a/users/grfn/emacs.d/email.el b/users/grfn/emacs.d/email.el
index 83076898b4..70360d0072 100644
--- a/users/grfn/emacs.d/email.el
+++ b/users/grfn/emacs.d/email.el
@@ -40,3 +40,14 @@
                    (eq (car action)
                        'display-buffer-same-window))
   :ignore t)
+
+(defun apply-thread-patchset (repo branch)
+  (interactive "Dgit repo: \nsnew branch name: ")
+  (let ((tid notmuch-show-thread-id)
+        (tmp "/tmp/notmuch-patchset"))
+    (shell-command (format "notmuch-extract-patch %s > %s && ( cd %s && git checkout -b %s && git am %s )"
+                           (shell-quote-argument tid)
+                           (shell-quote-argument tmp)
+                           (shell-quote-argument (expand-file-name repo))
+                           (shell-quote-argument branch)
+                           (shell-quote-argument tmp)))))
diff --git a/users/grfn/pkgs/notmuch-extract-patch.nix b/users/grfn/pkgs/notmuch-extract-patch.nix
new file mode 100644
index 0000000000..54dad260a0
--- /dev/null
+++ b/users/grfn/pkgs/notmuch-extract-patch.nix
@@ -0,0 +1,18 @@
+{ pkgs, ... }:
+
+let
+  inherit (pkgs) lib;
+  src = pkgs.fetchurl {
+    url = "https://raw.githubusercontent.com/aaptel/notmuch-extract-patch/f732a53e12a7c91a06755ebfab2007adc9b3063b/notmuch-extract-patch";
+    sha256 = "0nawkl04sj7psw6ikzay7kydj3dhd0fkwghcsf5rzaw4bmp4kbax";
+  };
+
+in
+pkgs.runCommandNoCC "notmuch-extract-patch"
+{
+  buildInputs = [ pkgs.python3 ];
+} ''
+  mkdir -p $out/bin
+  install -m 755 ${src} $out/bin/notmuch-extract-patch
+  patchShebangs $out/bin
+''
diff --git a/users/grfn/system/home/modules/email.nix b/users/grfn/system/home/modules/email.nix
index 63dfeeb6f4..4d5f3df695 100644
--- a/users/grfn/system/home/modules/email.nix
+++ b/users/grfn/system/home/modules/email.nix
@@ -37,6 +37,7 @@ in
   home.packages = with pkgs; [
     mu
     msmtp
+    config.lib.depot.users.grfn.pkgs.notmuch-extract-patch
   ];
 
   systemd.user.services = mapAttrs'