emacs,gnupg: use emacs for pinentry again
authorAmin Bandali <bandali@gnu.org>
Wed, 8 Jan 2020 06:05:54 +0000 (01:05 -0500)
committerAmin Bandali <bandali@gnu.org>
Wed, 8 Jan 2020 06:05:54 +0000 (01:05 -0500)
.emacs.d/init.el
.gnupg/gpg-agent.conf

index a043652..d2afd0f 100644 (file)
@@ -451,12 +451,26 @@ For disabling the behaviour for certain buffers and/or modes."
   :config (pixel-scroll-mode 1))
 
 (use-package epg-config
+  :config
+  ;; ask for GPG passphrase in minibuffer
+  ;; this will fail if gpg>=2.1 is not available
+  (if (version< "27" emacs-version)
+      (setq epg-pinentry-mode 'loopback)
+    (setq epa-pinentry-mode 'loopback))
   :custom
   (epg-gpg-program (executable-find "gpg")))
 
 (use-package epg
   :after epg-config)
 
+(use-package pinentry
+  :demand
+  :after (epa epg server)
+  :config
+  ;; workaround for systemd-based distros:
+  ;; (setq pinentry--socket-dir server-socket-dir)
+  (pinentry-start))
+
 (use-package auth-source
   :custom
   (auth-sources '("~/.authinfo.gpg"))
index 1b59d64..ba418db 100644 (file)
@@ -4,4 +4,6 @@ max-cache-ttl 86400
 default-cache-ttl-ssh 43200
 max-cache-ttl-ssh 86400
 
-pinentry-program /home/bandali/.guix-profile/bin/pinentry
+pinentry-program /home/bandali/.guix-profile/bin/pinentry-emacs
+allow-emacs-pinentry
+allow-loopback-pinentry