Skip to content

Commit b145a19

Browse files
committed
browserpass: add brave support
1 parent ac94041 commit b145a19

File tree

2 files changed

+22
-7
lines changed

2 files changed

+22
-7
lines changed

modules/programs/browserpass.nix

+16-4
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22

33
with lib;
44

5-
let browsers = [ "chrome" "chromium" "firefox" "vivaldi" ];
5+
let
6+
cfg = config.programs.browserpass;
7+
browsers = [ "brave" "chrome" "chromium" "firefox" "vivaldi" ];
68
in {
79
options = {
810
programs.browserpass = {
@@ -17,10 +19,20 @@ in {
1719
};
1820
};
1921

20-
config = mkIf config.programs.browserpass.enable {
22+
config = mkIf cfg.enable {
2123
home.file = foldl' (a: b: a // b) { } (concatMap (x:
2224
with pkgs.stdenv;
23-
if x == "chrome" then
25+
if x == "brave" then
26+
let
27+
dir = if isDarwin then
28+
"Library/Application Support/BraveSoftware/Brave-Browser/NativeMessagingHosts"
29+
else
30+
".config/BraveSoftware/Brave-Browser/NativeMessagingHosts";
31+
in [{
32+
"${dir}/com.github.browserpass.native.json".source =
33+
"${pkgs.browserpass}/lib/browserpass/hosts/chromium/com.github.browserpass.native.json";
34+
}]
35+
else if x == "chrome" then
2436
let
2537
dir = if isDarwin then
2638
"Library/Application Support/Google/Chrome/NativeMessagingHosts"
@@ -71,6 +83,6 @@ in {
7183
"${pkgs.browserpass}/lib/browserpass/policies/chromium/com.github.browserpass.native.json";
7284
}]
7385
else
74-
throw "unknown browser ${x}") config.programs.browserpass.browsers);
86+
throw "unknown browser ${x}") cfg.browsers);
7587
};
7688
}

tests/modules/programs/browserpass/browserpass.nix

+6-3
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,23 @@ with lib;
66
config = {
77
programs.browserpass = {
88
enable = true;
9-
browsers = [ "chrome" "chromium" "firefox" "vivaldi" ];
9+
browsers = [ "brave" "chrome" "chromium" "firefox" "vivaldi" ];
1010
};
1111

1212
nmt.script = if pkgs.stdenv.hostPlatform.isDarwin then ''
13-
for dir in "Google/Chrome" "Chromium" "Mozilla" "Vivaldi"; do
13+
for dir in "BraveSoftware/Brave-Browser" "Google/Chrome" "Chromium" "Mozilla" "Vivaldi"; do
1414
assertFileExists "home-files/Library/Application Support/$dir/NativeMessagingHosts/com.github.browserpass.native.json"
1515
done
1616
1717
for dir in "Google/Chrome" "Chromium" "Vivaldi"; do
1818
assertFileExists "home-files/Library/Application Support/$dir/policies/managed/com.github.browserpass.native.json"
1919
done
2020
'' else ''
21-
for dir in "google-chrome" "chromium" "vivaldi"; do
21+
for dir in "BraveSoftware/Brave-Browser" "google-chrome" "chromium" "vivaldi"; do
2222
assertFileExists "home-files/.config/$dir/NativeMessagingHosts/com.github.browserpass.native.json"
23+
done
24+
25+
for dir in "google-chrome" "chromium" "vivaldi"; do
2326
assertFileExists "home-files/.config/$dir/policies/managed/com.github.browserpass.native.json"
2427
done
2528

0 commit comments

Comments
 (0)