firefox-overlay/flake.nix
2022-06-30 12:39:26 -04:00

39 lines
1.4 KiB
Nix

{
description = "Overlay for a policy-configurable non-ESR Firefox";
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
outputs = { self, nixpkgs }: let
pkgs = import nixpkgs { system = "x86_64-linux"; };
in rec {
packages.x86_64-linux = rec {
default = firefox-patched-unwrapped;
firefox-patched-unwrapped = (pkgs.firefox-unwrapped.override {
geolocationSupport = false;
googleAPISupport = false;
}).overrideAttrs (oldAttrs: rec {
# wrapFirefox gets scared if you try to give addons to non-ESR firefox
name = oldAttrs.name + "-not-esr";
patches = oldAttrs.patches ++ [
# I want to preconfigure the search engine settings to make
# DuckDuckGo the default search engine and remove most of the
# others. For some reason, Mozilla is scared of allowing
# managed policies to set the default search engine in non-ESR
# firefox. This is a two-line patch to remove that
# restriction.
# https://github.com/mozilla/policy-templates/issues/484
./allow-searchengines-policy.patch
# Nix's wrapFirefox enables unsigned addons, but mainline
# Firefox has that force-locked.
./allow-unsigned-addons.patch
];
});
};
overlay = final: prev: {
inherit (packages.x86_64-linux) firefox-patched-unwrapped;
};
};
}