{ pkgs, ... }: { home.qyliss.dirs."state/gnupg".activationScripts.config = let pinentry = if pkgs.stdenv.isDarwin then "/Applications/pinentry-mac.app/Contents/MacOS/pinentry-mac" else "${pkgs.pinentry.qt}/bin/pinentry"; gpg-agent-conf = pkgs.writeText "gpg-agent.conf" '' pinentry-program ${pinentry} ''; in '' ln -sf ${./dirmngr.conf} dirmngr.conf ln -sf ${./gpg.conf} gpg.conf ln -sf ${gpg-agent-conf} gpg-agent.conf ''; environment.systemPackages = with pkgs; [ gnupg ]; environment.extraInit = '' export GNUPGHOME="$HOME/state/gnupg" if [ -z "$SSH_AUTH_SOCK" ]; then export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)" fi ''; programs.sway.extraConfig = '' exec gpg-connect-agent /bye ''; }