mirror of
https://github.com/nix-community/home-manager.git
synced 2025-11-30 22:21:02 +01:00
Reduce maintenance burden and increase efficiency by automatically importing modules following a specific convention. Co-authored-by: awwpotato <awwpotato@voidq.com> Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
52 lines
1.3 KiB
Nix
52 lines
1.3 KiB
Nix
{ pkgs, lib, ... }:
|
|
let
|
|
inherit (lib) mkOption types;
|
|
in
|
|
{
|
|
options.imapnotify = {
|
|
enable = lib.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.";
|
|
};
|
|
|
|
extraArgs = mkOption {
|
|
type = types.listOf types.str;
|
|
default = [ ];
|
|
example = [ "-wait 1" ];
|
|
description = "Extra arguments to pass to goimapnotify.";
|
|
};
|
|
|
|
extraConfig = mkOption {
|
|
type =
|
|
let
|
|
jsonFormat = pkgs.formats.json { };
|
|
in
|
|
jsonFormat.type;
|
|
default = { };
|
|
description = "Additional configuration to add for this account.";
|
|
};
|
|
};
|
|
}
|