about summary refs log tree commit diff
path: root/nix/profiles/home-manager/ssh.nix
blob: eebfd71967094d997a92c814f88f387e2cc66b38 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
{ ... }:
{
  programs.ssh = {
    enable = true;
    forwardAgent = true;
    serverAliveInterval = 60;
    controlMaster = "auto";
    controlPersist = "30m";
    extraConfig = ''
      IdentityAgent "~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock"
    '';
    matchBlocks = {
      "personal" = {
        hostname = "github.com";
        user = "git";
        forwardAgent = false;
        extraOptions = { preferredAuthentications = "publickey"; };
      };
      "github.com" = {
        hostname = "github.com";
        user = "git";
        forwardAgent = false;
        extraOptions = { preferredAuthentications = "publickey"; };
      };
      "github.rbx.com" = {
        hostname = "github.rbx.com";
        user = "git";
        forwardAgent = false;
        extraOptions = { preferredAuthentications = "publickey"; };
      };
    };
  };

  # Generate ssh agent config for 1Password - I want both my personal and work keys
  home.file.".config/1Password/ssh/agent.toml".text = ''
    [[ssh-keys]]
    account = "my.1password.com"

    [[ssh-keys]]
    account = "roblox.1password.com"
    item = "GitHub ssh key"
    vault = "Private"
  '';
}