about summary refs log tree commit diff
path: root/users/Profpatsch/imap-idle.nix
diff options
context:
space:
mode:
authorProfpatsch <mail@profpatsch.de>2021-03-22T00·08+0100
committerProfpatsch <mail@profpatsch.de>2021-03-22T22·52+0000
commitd053abfd2a52d663fb31bf15b910cd7145abc285 (patch)
treef8f00503ebe30fe1b4038f6635860f64b4b2de5e /users/Profpatsch/imap-idle.nix
parenta747b46f196c1faee6affc9c53c7d0371148c8fe (diff)
feat(users/Profpatsch): add imap-idle r/2319
A small UCSPI client which connects to an IMAP server, authenticates
with username and password (for Christ’s sake, put it in
`s6-tlsclient`), selects the `INBOX` and proceeds to listen for new
mails.

Later it will generate an event on stdout and to be used for push
messaging and triggering a full `mbsync` run on new message.

Currently I’m testing it via

```
env CAFILE=/run/current-system/etc/ssl/certs/ca-bundle.crt \
  IMAP_USERNAME=<username> \
  backtick -i IMAP_PASSWORD ' pass' ' <password-entry>' '' \
  s6-tlsclient -v <imap-server> 993 ./result
```

Change-Id: I221717d374c0efc8d9e05fe0dfccba31798b3c5c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2636
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
Diffstat (limited to 'users/Profpatsch/imap-idle.nix')
-rw-r--r--users/Profpatsch/imap-idle.nix14
1 files changed, 14 insertions, 0 deletions
diff --git a/users/Profpatsch/imap-idle.nix b/users/Profpatsch/imap-idle.nix
new file mode 100644
index 0000000000..30c7b6e8aa
--- /dev/null
+++ b/users/Profpatsch/imap-idle.nix
@@ -0,0 +1,14 @@
+{ depot, pkgs, lib, ... }:
+
+let
+  imap-idle = depot.users.Profpatsch.writers.rustSimple {
+    name = "imap-idle";
+    dependencies = [
+      depot.users.Profpatsch.arglib.netencode.rust
+      depot.users.Profpatsch.rust-crates.imap
+      depot.users.Profpatsch.rust-crates.epoll
+      depot.users.Profpatsch.execline.exec-helpers
+    ];
+  } (builtins.readFile ./imap-idle.rs);
+
+in imap-idle