diff --git a/modules/module-list.nix b/modules/module-list.nix index d01bbdb..a6c2d12 100644 --- a/modules/module-list.nix +++ b/modules/module-list.nix @@ -99,6 +99,7 @@ ./services/yabai ./services/nextdns ./services/jankyborders + ./programs/_1password.nix ./programs/bash ./programs/direnv.nix ./programs/fish.nix diff --git a/modules/programs/_1password.nix b/modules/programs/_1password.nix new file mode 100644 index 0000000..982031e --- /dev/null +++ b/modules/programs/_1password.nix @@ -0,0 +1,31 @@ +{ + config, + pkgs, + lib, + ... +}: + +let + cfg = config.programs._1password; +in +{ + options = { + programs._1password = { + enable = lib.mkEnableOption "the 1Password CLI tool"; + + package = lib.mkPackageOption pkgs "1Password CLI" { + default = [ "_1password-cli" ]; + }; + }; + }; + + config = lib.mkIf cfg.enable { + # Integration with the 1Password GUI will only work if the CLI at `/usr/local/bin/op` + # Based on https://github.com/reckenrode/nixos-configs/blob/22b8357fc6ffbd0df5ce50dc417c23a807a268a2/modules/by-name/1p/1password/darwin-module.nix + system.activationScripts.applications.text = lib.mkAfter '' + install -o root -g wheel -m0555 -D \ + ${lib.getExe pkgs._1password-cli} /usr/local/bin/op + ''; + }; +} +