gpg-agent: fix GnuPG by adding pinentry flavor option

See https://github.com/NixOS/nixpkgs/pull/71095.

Fixes #908
This commit is contained in:
jD91mZM2 2019-12-30 15:24:07 +01:00 committed by Robert Helgesson
parent 7c30831e8f
commit ebf1df58da
No known key found for this signature in database
GPG key ID: 36BDAA14C2797E89

View file

@ -129,6 +129,26 @@ in
configuration file.
'';
};
pinentryFlavor = mkOption {
type = types.nullOr (types.enum pkgs.pinentry.flavors);
example = "gnome3";
default = "gtk2";
description = ''
Which pinentry interface to use. If not
<literal>null</literal>, it sets
<option>pinentry-program</option> in
<filename>gpg-agent.conf</filename>. Beware that
<literal>pinentry-gnome3</literal> may not work on non-Gnome
systems. You can fix it by adding the following to your
system configuration:
<programlisting language="nix">
services.dbus.packages = [ pkgs.gcr ];
</programlisting>
For this reason, the default is <literal>gtk2</literal> for
now.
'';
};
};
};
@ -153,6 +173,9 @@ in
optional (cfg.maxCacheTtlSsh != null)
"max-cache-ttl-ssh ${toString cfg.maxCacheTtlSsh}"
++
optional (cfg.pinentryFlavor != null)
"pinentry-program ${pkgs.pinentry.${cfg.pinentryFlavor}}/bin/pinentry"
++
[ cfg.extraConfig ]
);