75fa0ae5af
GitOrigin-RevId: c3ab5ea047e6dc73df530948f7367455749d8906
40 lines
1 KiB
Nix
40 lines
1 KiB
Nix
{ pkgs, lib, ... }:
|
|
|
|
with lib;
|
|
|
|
{
|
|
options.imapnotify = {
|
|
enable = mkEnableOption "imapnotify";
|
|
|
|
onNotify = mkOption {
|
|
type = with types; either str (attrsOf str);
|
|
default = "";
|
|
example = "\${pkgs.isync}/bin/mbsync test-%s";
|
|
description = "Shell commands to run on any event.";
|
|
};
|
|
|
|
onNotifyPost = mkOption {
|
|
type = with types; either str (attrsOf str);
|
|
default = "";
|
|
example = {
|
|
mail =
|
|
"\${pkgs.notmuch}/bin/notmuch new && \${pkgs.libnotify}/bin/notify-send 'New mail arrived'";
|
|
};
|
|
description = "Shell commands to run after onNotify event.";
|
|
};
|
|
|
|
boxes = mkOption {
|
|
type = types.listOf types.str;
|
|
default = [ ];
|
|
example = [ "Inbox" "[Gmail]/MyLabel" ];
|
|
description = "IMAP folders to watch.";
|
|
};
|
|
|
|
extraConfig = mkOption {
|
|
type = let jsonFormat = pkgs.formats.json { }; in jsonFormat.type;
|
|
default = { };
|
|
example = { wait = 10; };
|
|
description = "Additional configuration to add for this account.";
|
|
};
|
|
};
|
|
}
|