How can I set up gnome-keyring to support SSH keys?

I am running swaywm, which I am launching from lightdm, and I have gnome-keyring installed on the system, and I have verified through seahorse that my keyring contains my SSH certificate. However, whenever I try to SSH into a server, I always get prompted for my pass phrase. Okay, investigation.

I’ve enabled gnome-keyring system-wide in /etc/nixos/configuration.nix:

  services.gnome.gnome-keyring = {
    enable = true;

I’ve learned on other machines that gnome-keyring creates an SSH socket at /run/user/<uid>/keyring/ssh. In this case, though, the gnome-keyring running on my system has only /run/user/<uid>/keyring/control, and no other files.

Now I know that gnome-keyring has a bunch of “components”, and it looks like he only one running is “secrets”:

 3466 savanni   0:00 {.gnome-keyring-} /nix/store/d6z9q5p8z6di6j702xa5b462jzjr1rhf-gnome-keyring-40.0/bin/gnome-keyring-daemon --start --foreground --components=secrets

So, how do I enable the additional settings, such as SSH? I see no settings in the gnome-keyring module other than enable, so it seems that I would have to go through an override of some kind, but I have no idea what that override would be.

I have this inside my system configuration

programs.sway.extraSessionCommands = ''
  eval $(gnome-keyring-daemon --start --components=pkcs11,secrets,ssh);
  export SSH_AUTH_SOCK;

After adding keys to the agent with ssh-add, I am not prompted for passwords anymore.

So, you don’t have the gnome-keyring service instruction?

Currently I also have services.gnome.gnome-keyring.enable = true;, but I am not sure how useful it is right now. I don’t quite remember why I chose the start the daemon this way with Sway, probably to be able to export SSH_AUTH_SOCK.