10     home.activation.gnupg = lib.hm.dag.entryAfter ["writeBoundary"] ''
 
  11     install -d -m700 ${lib.escapeShellArg config.programs.gpg.homedir}
 
  14   services.gpg-agent = {
 
  16     enableSshSupport = true;
 
  17     enableExtraSocket = true;
 
  18     pinentry.package = lib.mkDefault (
 
  19       if nixosConfig.services.xserver.enable then pkgs.pinentry-gtk2 else pkgs.pinentry-curses
 
  22   programs.gpg.enable = true;
 
  23   programs.gpg.settings = {
 
  24     #auto-key-locate = "keyserver";
 
  25     auto-key-locate = false;
 
  26     cert-digest-algo = "SHA512";
 
  28     default-keyring = false;
 
  29     default-preference-list = "SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 TWOFISH BZIP2 ZLIB ZIP Uncompressed";
 
  31     fixed-list-mode = true;
 
  32     keyid-format = "0xlong";
 
  33     keyserver-options = "no-honor-keyserver-url";
 
  34     personal-cipher-preferences = "AES256 AES CAST5";
 
  35     personal-digest-preferences = "SHA512";
 
  37     s2k-cipher-algo = "AES256";
 
  39     s2k-digest-algo = "SHA512";
 
  41     tofu-default-policy = "unknown";
 
  42     trust-model = "tofu+pgp";
 
  43     #with-fingerprint = [ true true ];
 
  47   home.file."${config.programs.gpg.homedir}/dirmngr.conf".text = ''
 
  49     keyserver hkps://keys.openpgp.org
 
  54   home.packages = lib.mkIf config.programs.gpg.enable [
 
  55     (pkgs.pass.withExtensions (