about summary refs log tree commit diff
path: root/nix/users/fcuny/1password.nix
diff options
context:
space:
mode:
authorFranck Cuny <franck@fcuny.net>2024-12-16 09:25:23 -0800
committerFranck Cuny <franck@fcuny.net>2024-12-16 09:25:23 -0800
commit1bbd4e19c5595e6a6c310bd36fac5b4bd97ff39f (patch)
treee5ec852d0aa9378a5fae766f70d4c133acd5f8d1 /nix/users/fcuny/1password.nix
parentmove gitotlite to vm-synology (diff)
downloadworld-1bbd4e19c5595e6a6c310bd36fac5b4bd97ff39f.tar.gz
refactor home-manager
Only install what's needed for specific OSes.
Diffstat (limited to 'nix/users/fcuny/1password.nix')
-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"
+  '';
+}