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`.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Wrap pinentry to auto-detect SSH sessions and use
pinentry-curses(terminal dialog) instead ofpinentry-rofi(GUI popup) when connected remotely.How it works:
$SSH_CONNECTION/$SSH_TTYpinentry-curses(terminal-based dialog)pinentry-rofi(GUI popup)modules/home-manager/pinentrygpg-agentwith SSH support and sensible cache TTLsMigration: The old inline
services.gpg-agentconfig inhome.nixis replaced by the module — just togglecustom.pinentry.enable = true.Pull request closed