diff options
Diffstat (limited to 'share')
| -rw-r--r-- | share/cfg/firefox/default.nix | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/share/cfg/firefox/default.nix b/share/cfg/firefox/default.nix index e5c83ee..85b8fcf 100644 --- a/share/cfg/firefox/default.nix +++ b/share/cfg/firefox/default.nix @@ -1,5 +1,37 @@ { pkgs, ... }: let + # See https://github.com/nix-community/home-manager/pull/5381 + # and https://codeberg.org/PassFF/passff-host/src/commit/05c39de18b200d6f262d6dced13cdde7b12fdae3#preferences + passff-host = pkgs.passff-host.overrideAttrs (old: { + dontStrip = true; + installPhase = '' + substituteInPlace bin/${old.version}/passff.json \ + --replace PLACEHOLDER $out/share/passff-host/passff.py + + install -Dt $out/share/passff-host \ + bin/${old.version}/passff.{py,json} + + nativeMessagingPaths=( + /lib/mozilla/native-messaging-hosts + /etc/opt/chrome/native-messaging-hosts + /etc/chromium/native-messaging-hosts + /etc/vivaldi/native-messaging-hosts + /lib/librewolf/native-messaging-hosts + ) + + for manifestDir in "''${nativeMessagingPaths[@]}"; do + install -d $out$manifestDir + cp $out/share/passff-host/passff.json $out$manifestDir/ + done + ''; + + patchPhase = '' + sed -i 's#COMMAND = "pass"#COMMAND = "${ + pkgs.pass.withExtensions (ext: with ext; [ pass-otp ]) + }/bin/pass"#' src/passff.py + ''; + }); + # Concatenate all files in the `./usercss` directory into one string css-files = map (n: ./usercss/${n}) (builtins.attrNames (builtins.readDir ./usercss)); userChrome = builtins.concatStringsSep "\n" (map builtins.readFile css-files); @@ -8,6 +40,9 @@ in home.sessionVariables.BROWSER = "firefox"; programs.firefox = { + nativeMessagingHosts = [ + passff-host + ]; profiles = { alice = { name = "alice"; |
