It should affect all shells, not just interractive ones.
 
 # Inform gpg-agent of the current TTY for user prompts.
 export GPG_TTY="$(tty)"
 
 # Inform gpg-agent of the current TTY for user prompts.
 export GPG_TTY="$(tty)"
-if [[ -z "$DISPLAY" ]]; then
-    export PINENTRY_USER_DATA="curses"
-fi
 
 
 # gpg
 export GNUPGHOME="$XDG_CONFIG_HOME/gnupg"
 
 # gpg
 export GNUPGHOME="$XDG_CONFIG_HOME/gnupg"
+#TODO this should probably be set for all shells?
+if [[ -z "$DISPLAY" ]]; then
+    export PINENTRY_USER_DATA="curses"
+fi
+
 # ssh
 export SSH_AUTH_SOCK=${SSH_AUTH_SOCK:-"$XDG_RUNTIME_DIR/ssh-agent.socket"}
 
 # ssh
 export SSH_AUTH_SOCK=${SSH_AUTH_SOCK:-"$XDG_RUNTIME_DIR/ssh-agent.socket"}