From eb8693e853627550d58dc82e3a73b151387694ae Mon Sep 17 00:00:00 2001 From: Daniel Fainberg Date: Tue, 7 Jul 2026 22:02:02 +0200 Subject: [PATCH] fix(desktop): dark ssh-askpass pinentry via hyprland env MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit QT_QPA_PLATFORMTHEME=gtk3 (what makes Qt apps read Adwaita-dark) reaches the systemd-user env — so gpg-agent's signing pinentry is dark — but not Hyprland's children, so the shell-spawned ssh askpass pinentry launched without it and came up light. Export it in the compositor env so every session child inherits it. Keeps pinentry-qt. Co-Authored-By: Claude Opus 4.8 --- modules/home.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/modules/home.nix b/modules/home.nix index 81d127b..41e3b1f 100644 --- a/modules/home.nix +++ b/modules/home.nix @@ -443,6 +443,15 @@ in settings = { monitor = ",preferred,auto,1"; + # The qt module sets QT_QPA_PLATFORMTHEME=gtk3 (→ Qt apps read the GTK + # Adwaita-dark theme), but only into hm-session-vars.sh + the systemd user + # env. gpg-agent (a user service) inherits it, so commit-signing pinentry + # is dark — but Hyprland doesn't source that file, so its children (foot → + # shell → ssh askpass → pinentry) launch without it and came up light. + # Verified the single var flips pinentry-qt dark; export it here so every + # session child gets it too. + env = [ "QT_QPA_PLATFORMTHEME,gtk3" ]; + general = { layout = "master"; gaps_in = 5;