2017-04-10 17:53:16 +00:00
|
|
|
{ config, lib, pkgs, ... }:
|
|
|
|
|
|
|
|
with lib;
|
|
|
|
|
|
|
|
{
|
|
|
|
|
2019-03-31 21:12:07 +00:00
|
|
|
options.programs.browserpass.enable = mkEnableOption "Browserpass native messaging host";
|
2017-04-10 17:53:16 +00:00
|
|
|
|
|
|
|
config = mkIf config.programs.browserpass.enable {
|
2019-03-31 21:12:07 +00:00
|
|
|
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)
|
|
|
|
// {
|
2017-06-12 23:03:02 +00:00
|
|
|
"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";
|
|
|
|
};
|
2018-02-22 23:25:40 +00:00
|
|
|
nixpkgs.config.firefox.enableBrowserpass = true;
|
2017-04-10 17:53:16 +00:00
|
|
|
};
|
|
|
|
}
|