From 539d69f565f0f3ada8a08ebc5a199b97dbc89b73 Mon Sep 17 00:00:00 2001 From: Griffin Smith Date: Tue, 14 Jun 2022 10:15:53 -0400 Subject: feat(grfn/home): Add binding for extracting patch from email Change-Id: Id568f8b479cebe547e1ad8a309ccfa395bf99b83 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5935 Tested-by: BuildkiteCI Reviewed-by: grfn Autosubmit: grfn --- users/grfn/emacs.d/email.el | 11 +++++++++++ users/grfn/pkgs/notmuch-extract-patch.nix | 18 ++++++++++++++++++ users/grfn/system/home/modules/email.nix | 1 + 3 files changed, 30 insertions(+) create mode 100644 users/grfn/pkgs/notmuch-extract-patch.nix 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' -- cgit 1.4.1