{ user ? throw "user argument is required", home ? throw "home argument is required", }: { ... }: { home-manager.users.${user} = { sops.secrets = { "git/credentials" = { sopsFile = ../../../../../../../secrets/personal/secrets.yaml; path = "${home}/.config/git/credentials"; }; "git/cookies" = { sopsFile = ../../../../../../../secrets/personal/secrets.yaml; path = "${home}/.config/git/cookies"; }; }; programs.ssh.matchBlocks = { "github.com" = { hostname = "github.com"; user = "git"; identityFile = [ "${home}/.ssh/ssh_sas_ed25519_key" "${home}/.ssh/ssh_personal_ed25519_key" ]; }; "gitlab.sas.com" = { hostname = "gitlab.sas.com"; user = "git"; identityFile = "${home}/.ssh/ssh_sas_ed25519_key"; }; "gerrit-svi.unx.sas.com" = { hostname = "gerrit-svi.unx.sas.com"; user = "nikara"; port = 29418; identityFile = "${home}/.ssh/ssh_sas_ed25519_key"; }; }; }; }