{ config, pkgs, ... }: let sshConfigFile = "ssh/config"; in { users.users.someone.packages = with pkgs; [ openssh ]; xdg.configFile."ssh/config" = { source = config.age.secrets.ssh_config.path; }; home.file.".ssh/config" = { source = config.xdg.configHome + "/ssh/config"; mutable = false; }; environment.sessionVariables = { SSH_AUTH_SOCK = "${config.xdg.runtimeDir}/gnupg/S.gpg-agent.ssh"; SSH_CONFIG = "${config.xdg.configHome}/ssh/config"; }; systemd.user.services.ssh-agent = { description = "SSH agent service"; wantedBy = ["default.target"]; serviceConfig = { Type = "simple"; ExecStart = "${pkgs.openssh}/bin/ssh-agent -D -a ${config.xdg.runtimeDir}/ssh-agent.socket"; Restart = "on-failure"; }; }; }