forked from mirrors/nixpkgs
e98ee8d70c
See https://github.com/browserpass/browserpass-native/issues/31 Additionally browserpass was removed from systemPackages, because it doesn't need to be installed, browsers will get the path to the binary from the native messaging host JSON.
43 lines
1.9 KiB
Nix
43 lines
1.9 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
with lib;
|
|
|
|
{
|
|
|
|
options.programs.browserpass.enable = mkEnableOption "Browserpass native messaging host";
|
|
|
|
config = mkIf config.programs.browserpass.enable {
|
|
environment.etc = let
|
|
appId = "com.github.browserpass.native.json";
|
|
source = part: "${pkgs.browserpass}/lib/browserpass/${part}/${appId}";
|
|
in {
|
|
# chromium
|
|
"chromium/native-messaging-hosts/${appId}".source = source "hosts/chromium";
|
|
"chromium/policies/managed/${appId}".source = source "policies/chromium";
|
|
|
|
# chrome
|
|
"opt/chrome/native-messaging-hosts/${appId}".source = source "hosts/chromium";
|
|
"opt/chrome/policies/managed/${appId}".source = source "policies/chromium";
|
|
|
|
# vivaldi
|
|
"opt/vivaldi/native-messaging-hosts/${appId}".source = source "hosts/chromium";
|
|
"opt/vivaldi/policies/managed/${appId}".source = source "policies/chromium";
|
|
|
|
# brave
|
|
"opt/brave/native-messaging-hosts/${appId}".source = source "hosts/chromium";
|
|
"opt/brave/policies/managed/${appId}".source = source "policies/chromium";
|
|
}
|
|
# As with the v2 backwards compatibility in the pkgs.browserpass
|
|
# declaration, this part can be removed once the browser extension
|
|
# auto-updates to v3 (planned 2019-04-13, see
|
|
# https://github.com/browserpass/browserpass-native/issues/31)
|
|
// {
|
|
"chromium/native-messaging-hosts/com.dannyvankooten.browserpass.json".source = "${pkgs.browserpass}/etc/chrome-host.json";
|
|
"chromium/policies/managed/com.dannyvankooten.browserpass.json".source = "${pkgs.browserpass}/etc/chrome-policy.json";
|
|
"opt/chrome/native-messaging-hosts/com.dannyvankooten.browserpass.json".source = "${pkgs.browserpass}/etc/chrome-host.json";
|
|
"opt/chrome/policies/managed/com.dannyvankooten.browserpass.json".source = "${pkgs.browserpass}/etc/chrome-policy.json";
|
|
};
|
|
nixpkgs.config.firefox.enableBrowserpass = true;
|
|
};
|
|
}
|