blob: e76f338a623a352b436be76440ec7ab59cb5950c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
{
lib,
config,
pkgs,
...
}:
let
cfg = config.web.chromium;
# Extension ID computed from the pinned extensionKey
patchedHost =
pkgs.runCommand "com.github.browserpass.native.json"
{
nativeBuildInputs = [
(pkgs.luajit.withPackages (ps: [ ps.dkjson ]))
];
}
''
luajit ${./patch_native_host.lua} \
${cfg.extensions.browserpass.id} \
${config.programs.browserpass.package}/lib/browserpass/hosts/chromium/com.github.browserpass.native.json \
$out
'';
in
{
config = lib.mkIf (cfg.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;
};
};
}
|