tvl-depot/users/Profpatsch/imap-idle.nix
Profpatsch d053abfd2a feat(users/Profpatsch): add imap-idle
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>
2021-03-22 22:52:11 +00:00

14 lines
391 B
Nix

{ 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