diff options
| author | Franck Cuny <franck@fcuny.net> | 2025-07-29 20:21:12 -0700 |
|---|---|---|
| committer | Franck Cuny <franck@fcuny.net> | 2025-07-29 20:22:11 -0700 |
| commit | ff85dcdcfe99c7043d039170570661a109098f5f (patch) | |
| tree | 3ed324889a13252e8566e84cd0e0f0377dbe05da /users/programs | |
| parent | correct syntax for imports (diff) | |
| download | infra-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.nix | 41 | ||||
| -rw-r--r-- | users/programs/onepassword.nix | 9 |
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 + ]; + }; +} |
