firefox-overlay/flake.nix
2024-01-03 03:00:37 -05:00

44 lines
1.5 KiB
Nix

{
description = "Overlay for a policy-configurable non-ESR Firefox";
inputs.nixpkgs.url = "github:NixOS/nixpkgs/491072e797f6d28960f182d45125f1f93b9522ce";
# 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;
drmSupport = false;
requireSigning = false;
allowAddonSideload = true;
}).overrideAttrs (oldAttrs: rec {
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
# Firefox disables about:debugging when manual addon
# installation is disabled by policy, since it can be used
# to sideload. I want managed addons *and* debugging.
./allow-debugging.patch
];
});
};
overlay = final: prev: {
inherit (packages.x86_64-linux) firefox-patched-unwrapped;
};
};
}