about summary refs log tree commit diff
path: root/nix/users/fcuny/1password.nix
blob: bf8133f05d583c8705d901983c6d6d497d3c830d (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
{ config, ... }:
let
  home = config.home.homeDirectory;
  darwinSockPath = "${home}/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock";
  sockPath = ".1password/agent.sock";
in
{
  home.sessionVariables = {
    SSH_AUTH_SOCK = "${home}/${sockPath}";
  };

  home.file.sock = {
    source = config.lib.file.mkOutOfStoreSymlink darwinSockPath;
    target = sockPath;
  };

  programs.fish = {
    interactiveShellInit = ''
      op completion fish | source
    '';
  };

  programs.ssh = {
    extraConfig = "IdentityAgent ~/${sockPath}";
  };

  # 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"
  '';
}