Refactor gnupg+pinentry installation
Ensure pinentry-gtk-2 is used so we can theme its prompt, and ensure that gpg respects XDG conventions.
This commit is contained in:
		
							parent
							
								
									eec332814a
								
							
						
					
					
						commit
						0ec23ed5f0
					
				|  | @ -1,13 +1,32 @@ | |||
| { config, lib, pkgs, ... }: | ||||
| 
 | ||||
| { | ||||
|   environment.systemPackages = with pkgs; [ | ||||
|     gnupg | ||||
|     pinentry | ||||
|   ]; | ||||
|   environment = { | ||||
|     extraInit = '' | ||||
|       export GNUPGHOME="$XDG_CONFIG_HOME/gnupg" | ||||
|       if [ ! -d "$GNUPGHOME" ]; then | ||||
|          mkdir -p "$GNUPGHOME" -m 700 | ||||
|       fi | ||||
|     ''; | ||||
| 
 | ||||
|     systemPackages = with pkgs; [ | ||||
|       gnupg | ||||
|       pinentry | ||||
|     ]; | ||||
|   }; | ||||
| 
 | ||||
|   programs.gnupg.agent = { | ||||
|     enable = true; | ||||
|     enableSSHSupport = true; | ||||
|   }; | ||||
| 
 | ||||
|   systemd.user.services.gpg-agent.serviceConfig.ExecStart = [ | ||||
|     "" '' | ||||
|        ${pkgs.gnupg}/bin/gpg-agent \ | ||||
|             --supervised \ | ||||
|             --allow-emacs-pinentry \ | ||||
|             --default-cache-ttl 1200 \ | ||||
|             --pinentry-program ${pkgs.pinentry}/bin/pinentry-gtk-2 | ||||
|        '' | ||||
|   ]; | ||||
| } | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue