feat: adaptive pinentry — rofi on TTY, curses on SSH #2

Closed
jpporta wants to merge 0 commits from feat/adaptive-pinentry into main
Owner

Wrap pinentry to auto-detect SSH sessions and use pinentry-curses (terminal dialog) instead of pinentry-rofi (GUI popup) when connected remotely.

How it works:

  • A small wrapper script checks $SSH_CONNECTION / $SSH_TTY
  • SSH → pinentry-curses (terminal-based dialog)
  • Local TTY → pinentry-rofi (GUI popup)
  • Added as a Home Manager module: modules/home-manager/pinentry
  • Also enables gpg-agent with SSH support and sensible cache TTLs

Migration: The old inline services.gpg-agent config in home.nix is replaced by the module — just toggle custom.pinentry.enable = true.

Wrap pinentry to auto-detect SSH sessions and use `pinentry-curses` (terminal dialog) instead of `pinentry-rofi` (GUI popup) when connected remotely. **How it works:** - A small wrapper script checks `$SSH_CONNECTION` / `$SSH_TTY` - SSH → `pinentry-curses` (terminal-based dialog) - Local TTY → `pinentry-rofi` (GUI popup) - Added as a Home Manager module: `modules/home-manager/pinentry` - Also enables `gpg-agent` with SSH support and sensible cache TTLs **Migration:** The old inline `services.gpg-agent` config in `home.nix` is replaced by the module — just toggle `custom.pinentry.enable = true`.
jpporta added 1 commit 2026-07-22 22:07:55 -03:00
jpporta closed this pull request 2026-07-23 10:48:30 -03:00

Pull request closed

This pull request cannot be reopened because the branch was deleted.
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: jpporta/ndots#2