mirror of
https://github.com/nix-community/home-manager
synced 2024-12-27 12:19:48 +01:00
ef50612457
This adds a Darwin Launchd agent along with its sockets to make gpg-agent starts at load or whenever the sockets are needed. Fixes: https://github.com/nix-community/home-manager/issues/3864
29 lines
726 B
Nix
29 lines
726 B
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
with lib;
|
|
|
|
mkIf pkgs.stdenv.isLinux {
|
|
config = {
|
|
services.gpg-agent.enable = true;
|
|
services.gpg-agent.pinentryPackage = pkgs.pinentry-gnome3;
|
|
programs.gpg.enable = true;
|
|
|
|
test.stubs = {
|
|
gnupg = { };
|
|
systemd = { }; # depends on gnupg.override
|
|
pinentry-gnome3 = { };
|
|
};
|
|
|
|
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/dummy"
|
|
'';
|
|
};
|
|
}
|