34 lines
822 B
Nix
34 lines
822 B
Nix
|
{ 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.";
|
||
|
};
|
||
|
};
|
||
|
}
|