about summary refs log tree commit diff
path: root/nix/users/fcuny/1password.nix
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--nix/users/fcuny/1password.nix35
1 files changed, 35 insertions, 0 deletions
diff --git a/nix/users/fcuny/1password.nix b/nix/users/fcuny/1password.nix
new file mode 100644
index 0000000..0e16f8e
--- /dev/null
+++ b/nix/users/fcuny/1password.nix
@@ -0,0 +1,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"
+  '';
+}