system/modules/nixos/programs/browsers/librewolf.nix

29 lines
818 B
Nix

{ config, pkgs, lib, inputs, ... }:
let
cfg = config.local.programs.browsers.librewolf;
isPassEnabled = config.local.programs.pass.enable;
policiesJson = pkgs.callPackage ./policies.nix {
firefoxAddons = inputs.firefox-addons.packages."${pkgs.system}";
withPassffAddon = isPassEnabled;
withRedirectorAddon = true;
withSidebarTabsAddon = true;
withAllSearchEngines = true;
};
librewolf' = with pkgs.unstable; librewolf.override {
extraPoliciesFiles = librewolf.unwrapped.extraPoliciesFiles ++ [ policiesJson ];
nativeMessagingHosts = lib.optional isPassEnabled passff-host;
};
in
{
options.local.programs.browsers.librewolf = with lib; {
enable = mkEnableOption "librewolf";
};
config = lib.mkIf cfg.enable {
environment.systemPackages = [ librewolf' ];
};
}