Ver código fonte

alot: support contact completion

Make choice of contact completion easier.
master
Matthieu Coudron 10 meses atrás
pai
commit
81dae2f88e
Nenhuma conta vinculada ao e-mail do autor do commit

+ 2
- 2
modules/accounts/email.nix Ver arquivo

@@ -1,4 +1,4 @@
{ config, lib, ... }:
{ config, lib, pkgs, ... }:

with lib;

@@ -379,7 +379,7 @@ in
accounts = mkOption {
type = types.attrsOf (types.submodule [
mailAccountOpts
(import ../programs/alot-accounts.nix)
(import ../programs/alot-accounts.nix pkgs)
(import ../programs/astroid-accounts.nix)
(import ../programs/mbsync-accounts.nix)
(import ../programs/msmtp-accounts.nix)

+ 29
- 0
modules/programs/alot-accounts.nix Ver arquivo

@@ -1,3 +1,4 @@
pkgs:
{ config, lib, ... }:

with lib;
@@ -13,6 +14,34 @@ with lib;
'';
};

contactCompletion = mkOption {
type = types.attrsOf types.str;
default = {
type = "shellcommand";
command = "'${pkgs.notmuch}/bin/notmuch address --format=json --output=recipients date:6M..'";
regexp =
"'\[?{"
+ ''"name": "(?P<name>.*)", ''
+ ''"address": "(?P<email>.+)", ''
+ ''"name-addr": ".*"''
+ "}[,\]]?'";
shellcommand_external_filtering = "False";
};
example = literalExample ''
{
type = "shellcommand";
command = "abook --mutt-query";
regexp = "'^(?P<email>[^@]+@[^\t]+)\t+(?P<name>[^\t]+)'";
ignorecase = "True";
}
'';
description = ''
Contact completion configuration as expected per alot.
See <link xlink:href="http://alot.readthedocs.io/en/latest/configuration/contacts_completion.html">alot's wiki</link> for
explanation about possible values.
'';
};

extraConfig = mkOption {
type = types.lines;
default = "";

+ 2
- 0
modules/programs/alot.nix Ver arquivo

@@ -33,6 +33,8 @@ let
boolStr (signature.showSignature == "attach");
}
)
++ [ "[[[abook]]]" ]
++ mapAttrsToList (n: v: n + "=" + v) alot.contactCompletion
)
+ "\n"
+ alot.extraConfig;

Carregando…
Cancelar
Salvar