{ pkgs, lib, config, ... }: { config = lib.mkIf (config.host.name == "oignon") { # Add --homedir to gpg-agent systemd.user.services.gpg-agent.Service.ExecStart = lib.mkForce "${pkgs.gnupg}/bin/gpg-agent --supervised --verbose --homedir ${config.home.homeDirectory}/documents/sec/.gnupg"; # yiazm78juc4d3ux4qqyhkr61 is derived from the --homedir systemd.user.sockets = { gpg-agent.Socket.ListenStream = lib.mkForce "%t/gnupg/d.yiazm78juc4d3ux4qqyhkr61/S.gpg-agent"; gpg-agent-ssh.Socket.ListenStream = lib.mkForce "%t/gnupg/d.yiazm78juc4d3ux4qqyhkr61/S.gpg-agent.ssh"; gpg-agent-extra.Socket.ListenStream = lib.mkForce "%t/gnupg/d.yiazm78juc4d3ux4qqyhkr61/S.gpg-agent.extra"; }; home.file = pkgs.lib.listToAttrs (map (path: pkgs.lib.nameValuePair (config.home.homeDirectory + "/documents/sec/${path}") { source = config.lib.file.mkOutOfStoreSymlink (config.home.homeDirectory + "/${path}"); } ) [ ".gnupg/dirmngr.conf" ".gnupg/gpg-agent.conf" ".gnupg/gpg.conf" ".gnupg/sshcontrol" ] ); home.sessionVariables = { GNUPGHOME = "$HOME/documents/sec/.gnupg"; PASSWORD_STORE_DIR = "$HOME/documents/sec/.password-store"; }; home.packages = [ pkgs.freecad pkgs.graphviz pkgs.x2goclient pkgs.qgis #pkgs.libva-utils #pkgs.sweethome3d.application ]; }; }