aboutsummaryrefslogblamecommitdiff
path: root/nix/users/fcuny/1password.nix
blob: 63892c7e37866bd4863218c7912c8e1b8e0c4dce (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
                      

                                   
                                                                                            
                                     

  



                              


                                          











                                                                


                                                








                                                        


                     
{ pkgs, config, ... }:
let
  home = config.home.homeDirectory;
  darwinSockPath = "${home}/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock";
  sockPath = ".1password/agent.sock";
in
{
  home.packages = with pkgs; [
    _1password-cli
  ];

  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"
    vault = "Private"
  '';
}