diff options
Diffstat (limited to 'modules/web/chromium/browserpass.nix')
| -rw-r--r-- | modules/web/chromium/browserpass.nix | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/modules/web/chromium/browserpass.nix b/modules/web/chromium/browserpass.nix index 860d46e..f09945d 100644 --- a/modules/web/chromium/browserpass.nix +++ b/modules/web/chromium/browserpass.nix @@ -1,13 +1,30 @@ { lib, config, + pkgs, ... }: +let + # Extension ID computed from the pinned "extensionKey" in + patchedHost = + pkgs.runCommand "com.github.browserpass.native.json" + { + nativeBuildInputs = [ pkgs.jq ]; + } + '' + jq '.allowed_origins = ["chrome-extension://${config.web.chromium.extensions.browserpass.id}/"]' \ + ${config.programs.browserpass.package}/lib/browserpass/hosts/chromium/com.github.browserpass.native.json \ + > $out + ''; +in { config = lib.mkIf (config.web.chromium.enable && config.security.gopass.enable) { programs.browserpass = { enable = true; browsers = [ "chromium" ]; }; + home.file.".config/chromium/NativeMessagingHosts/com.github.browserpass.native.json" = lib.mkForce { + source = patchedHost; + }; }; } |
