blob: 58d57cac6c747ab2ff1191b6053ce67b3bba82ce [file] [log] [blame]
Skyler Grey3bbe02b2022-07-24 10:40:38 +01001{ pkgs, ... }: let
2 pinentry-multiplexed = pkgs.writeScriptBin "pinentry-multiplexed" ''
3 case $PINENTRY_USER_DATA in
4 tty)
5 exec ${pkgs.pinentry.tty}/bin/pinentry "$@"
6 ;;
7 none)
8 exit 1
9 ;;
10 *)
11 exec ${pkgs.pinentry.qt}/bin/pinentry "$@"
12 esac
13 '';
14in {
Skyler Turner62330c12022-03-04 22:10:16 +000015 programs.gpg.enable = true;
16 services.gpg-agent = {
17 enable = true;
Skyler Grey3bbe02b2022-07-24 10:40:38 +010018 extraConfig = ''
19 pinentry-program ${pinentry-multiplexed}/bin/pinentry-multiplexed
20 '';
21 pinentryFlavor = null;
Skyler Turner62330c12022-03-04 22:10:16 +000022 };
23
Skyler Grey3bbe02b2022-07-24 10:40:38 +010024 home.packages = [
25 pinentry-multiplexed
Skyler Turner62330c12022-03-04 22:10:16 +000026 ];
Skyler Grey3bbe02b2022-07-24 10:40:38 +010027}