2.home-manager/tests/modules/services/gpg-agent/default-homedir.nix
Austin Horstman a4c3ce44fc gpg-agent: pinentryPackage -> pinentry.package and add pinentry.program`
Alternative option for allowing a user to automatically configure what
binary to use from a `pinentry` package. Previously, we always used
`meta.mainProgram` but, there are packages that provide multiple
binaries and this would allow flexibility for a user to override the
default program used.
2025-04-29 20:36:45 -05:00

39 lines
985 B
Nix

{
config,
lib,
options,
pkgs,
...
}:
lib.mkIf pkgs.stdenv.isLinux {
services.gpg-agent.enable = true;
services.gpg-agent.pinentryPackage = pkgs.pinentry-gnome3;
programs.gpg.enable = true;
test.asserts.warnings.expected =
let
renamed = {
pinentryPackage = "pinentry.package";
};
in
lib.mapAttrsToList (
old: new:
builtins.replaceStrings [ "\n" ] [ " " ] ''
The option `services.gpg-agent.${old}' defined in
${lib.showFiles options.services.gpg-agent.${old}.files}
has been renamed to `services.gpg-agent.${new}'.''
) renamed;
nmt.script = ''
in="${config.systemd.user.sockets.gpg-agent.Socket.ListenStream}"
if [[ $in != "%t/gnupg/S.gpg-agent" ]]
then
echo $in
fail "gpg-agent socket directory not set to default value"
fi
configFile=home-files/.gnupg/gpg-agent.conf
assertFileRegex $configFile "pinentry-program @pinentry-gnome3@/bin/pinentry"
'';
}