about summary refs log tree commit diff
path: root/nix/users/fcuny/1password.nix
blob: 0e16f8e11604fddecf9c2964de659cefec1ed72a (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
{ 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"
  '';
}