aboutsummaryrefslogtreecommitdiff
path: root/users/programs
diff options
context:
space:
mode:
authorFranck Cuny <franck@fcuny.net>2025-07-29 20:21:12 -0700
committerFranck Cuny <franck@fcuny.net>2025-07-29 20:22:11 -0700
commitff85dcdcfe99c7043d039170570661a109098f5f (patch)
tree3ed324889a13252e8566e84cd0e0f0377dbe05da /users/programs
parentcorrect syntax for imports (diff)
downloadinfra-ff85dcdcfe99c7043d039170570661a109098f5f.tar.gz
add a home-manager module for 1password
The module takes care of configuring the 1password SSH agent.
Diffstat (limited to 'users/programs')
-rw-r--r--users/programs/1password.nix41
-rw-r--r--users/programs/onepassword.nix9
2 files changed, 9 insertions, 41 deletions
diff --git a/users/programs/1password.nix b/users/programs/1password.nix
deleted file mode 100644
index 63892c7..0000000
--- a/users/programs/1password.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ 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"
- '';
-}
diff --git a/users/programs/onepassword.nix b/users/programs/onepassword.nix
new file mode 100644
index 0000000..f364a9e
--- /dev/null
+++ b/users/programs/onepassword.nix
@@ -0,0 +1,9 @@
+{ ... }:
+{
+ programs.onepassword = {
+ enable = true;
+ sshKeys = [
+ { account = "my.1password.com"; } # All keys from personal account
+ ];
+ };
+}