summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nix/default.nix1
-rw-r--r--nix/notmuch-tcp.nix22
-rwxr-xr-xnotmuch-tcp9
3 files changed, 32 insertions, 0 deletions
diff --git a/nix/default.nix b/nix/default.nix
index b872f6a..cef8800 100644
--- a/nix/default.nix
+++ b/nix/default.nix
@@ -7,4 +7,5 @@ self: super:
7 monitor-uucp = self.callPackage ./monitor-uucp.nix {}; 7 monitor-uucp = self.callPackage ./monitor-uucp.nix {};
8 rolling-directory = self.callPackage ./rolling-directory.nix {}; 8 rolling-directory = self.callPackage ./rolling-directory.nix {};
9 recv = self.callPackage ./recv.nix {}; 9 recv = self.callPackage ./recv.nix {};
10 notmuch-tcp = self.callPackage ./notmuch-tcp.nix {};
10} 11}
diff --git a/nix/notmuch-tcp.nix b/nix/notmuch-tcp.nix
new file mode 100644
index 0000000..438a086
--- /dev/null
+++ b/nix/notmuch-tcp.nix
@@ -0,0 +1,22 @@
1{ stdenv
2, zsh, socat, nettools
3}:
4
5stdenv.mkDerivation rec {
6 pname = "notmuch-tcp";
7 version = "0.1";
8 src = ../notmuch-tcp;
9
10 phases = [ "buildPhase" "installPhase" ];
11
12 inherit zsh socat nettools;
13
14 buildPhase = ''
15 substituteAll $src notmuch-tcp
16 '';
17
18 installPhase = ''
19 install -m 0755 -D -t $out/bin \
20 notmuch-tcp
21 '';
22}
diff --git a/notmuch-tcp b/notmuch-tcp
new file mode 100755
index 0000000..71680d0
--- /dev/null
+++ b/notmuch-tcp
@@ -0,0 +1,9 @@
1#!@zsh@/bin/zsh
2
3NOTMUCH_TCP=${NOTMUCH_TCP:-2010}
4HOST=${HOST:-$(@nettools/bin/hostname -s)}
5NOTMUCH_HOST=${NOTMUCH_HOST:-odin.asgard.yggdrasil}
6
7cd ~/.notmuch-tcp
8
9@socat@/bin/socat STDIO,ignoreeof openssl:${NOTMUCH_HOST}:${NOTMUCH_TCP},verify=1,cafile=ca.pem,certificate=${HOST}.pem,key=${HOST}.key <<(print "${(@q)@}"; inp=$(cat); printf "%d\n" $(wc -c <<<"${inp}"); cat <<<"${inp}")