From 587719494ed18a184c98c4d55dde9469af4446bf Mon Sep 17 00:00:00 2001 From: Phillip Cloud <417981+cpcloud@users.noreply.github.com> Date: Thu, 14 Mar 2024 05:01:39 -0400 Subject: [PATCH] gpg-agent: fix broken variable reference --- modules/services/gpg-agent.nix | 2 +- tests/modules/services/gpg-agent/default-homedir.nix | 12 +++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/modules/services/gpg-agent.nix b/modules/services/gpg-agent.nix index a5d89415..509adfa5 100644 --- a/modules/services/gpg-agent.nix +++ b/modules/services/gpg-agent.nix @@ -248,7 +248,7 @@ in { ++ optional (cfg.maxCacheTtlSsh != null) "max-cache-ttl-ssh ${toString cfg.maxCacheTtlSsh}" ++ optional (cfg.pinentryPackage != null) - "pinentry-program ${lib.getExe pinentryPackage}" + "pinentry-program ${lib.getExe cfg.pinentryPackage}" ++ [ cfg.extraConfig ]); home.sessionVariablesExtra = optionalString cfg.enableSshSupport '' diff --git a/tests/modules/services/gpg-agent/default-homedir.nix b/tests/modules/services/gpg-agent/default-homedir.nix index 29efddac..e23de764 100644 --- a/tests/modules/services/gpg-agent/default-homedir.nix +++ b/tests/modules/services/gpg-agent/default-homedir.nix @@ -5,11 +5,14 @@ with lib; { config = { services.gpg-agent.enable = true; - services.gpg-agent.pinentryPackage = null; # Don't build pinentry package. + services.gpg-agent.pinentryPackage = pkgs.pinentry-gnome3; programs.gpg.enable = true; - test.stubs.gnupg = { }; - test.stubs.systemd = { }; # depends on gnupg.override + test.stubs = { + gnupg = { }; + systemd = { }; # depends on gnupg.override + pinentry-gnome3 = { }; + }; nmt.script = '' in="${config.systemd.user.sockets.gpg-agent.Socket.ListenStream}" @@ -18,6 +21,9 @@ with lib; 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/dummy" ''; }; }