diff --git a/home/default.nix b/home/default.nix index fa7f6ea..4c103a6 100644 --- a/home/default.nix +++ b/home/default.nix @@ -1,4 +1,4 @@ -{...}: { +{config, ...}: { imports = [ ./alacritty.nix ./bat.nix @@ -25,7 +25,10 @@ home.username = "alarsyo"; - home.sessionVariables = { + home.sessionVariables = let + gpgPackage = config.programs.gpg.package; + in { BROWSER = "firefox"; + SSH_AUTH_SOCK = "$(${gpgPackage}/bin/gpgconf --list-dirs agent-ssh-socket)"; }; } diff --git a/home/ssh.nix b/home/ssh.nix index 4b65ea9..3f80b3b 100644 --- a/home/ssh.nix +++ b/home/ssh.nix @@ -19,10 +19,23 @@ in { programs.ssh = { enable = true; - matchBlocks = { - boreal = {hostname = "boreal.alarsyo.net";}; - poseidon = {hostname = "poseidon.alarsyo.net";}; - pi = { + matchBlocks = let + addGPGAgentForwarding = hostConf: + { + remoteForwards = [ + { + # shhhh this is a path but it works + bind.address = "/run/user/1000/gnupg/S.gpg-agent.ssh"; + host.address = "/run/user/1000/gnupg/S.gpg-agent.ssh"; + } + ]; + } + // hostConf; + in { + boreal = addGPGAgentForwarding {hostname = "boreal.alarsyo.net";}; + hades = addGPGAgentForwarding {hostname = "hades.alarsyo.net";}; + poseidon = addGPGAgentForwarding {hostname = "poseidon.alarsyo.net";}; + pi = addGPGAgentForwarding { hostname = "pi.alarsyo.net"; user = "pi"; };