[Browser/Firefox] refactor firefox to use callPackage

Move overrides to a config option
Add gnome support
This commit is contained in:
Antoine Viallon 2023-05-05 11:44:59 +02:00
parent 776c6e3060
commit 539e85ed95
Signed by: aviallon
GPG key ID: 186FC35EDEB25716
5 changed files with 23 additions and 4 deletions

View file

@ -4,6 +4,16 @@ let
cfg = config.aviallon.desktop;
generalCfg = config.aviallon.general;
in {
options.aviallon.desktop.browser = {
firefox.overrides = mkOption {
internal = true;
description = "Override firefox package settings";
type = types.attrs;
default = {};
example = { enablePlasmaIntegration = true; };
};
};
config = mkIf (cfg.enable && !generalCfg.minimal) {
environment.systemPackages = with pkgs; []
++ optionals (!generalCfg.minimal) [

View file

@ -41,6 +41,8 @@ in {
environment.systemPackages = with pkgs; []
++ [
guake
(myFirefox.override { enableGnomeExtensions = true; })
]
++ (with gnome; [
gnome-software

View file

@ -63,6 +63,8 @@ in {
ark
kolourpaint
krdc
(myFirefox.override { enablePlasmaBrowserIntegration = true; })
];
environment.profileRelativeSessionVariables = {

View file

@ -98,7 +98,7 @@ in
# Use bleeding-edge linux firmware
linux-firmware = super.unstable.linux-firmware;
myFirefox = (import ./packages/firefox.nix { pkgs = self; inherit lib; });
myFirefox = (super.callPackage ./packages/firefox.nix config.aviallon.desktop.browser.firefox.overrides);
})
(final: prev: {
# Use our kernel for generating linux man pages

View file

@ -1,4 +1,9 @@
{pkgs, lib,
{lib,
firefox-esr-unwrapped,
wrapFirefox,
enablePlasmaBrowserIntegration ? false,
enableGnomeExtensions ? false,
extraNativeMessengingHosts ? [],
...
}:
with lib;
@ -12,12 +17,12 @@ let
(key: value: ''${prefFuncName}(${builtins.toJSON key}, ${builtins.toJSON value});'' )
prefs
);
in pkgs.wrapFirefox pkgs.firefox-esr-unwrapped {
in wrapFirefox firefox-esr-unwrapped {
cfg = {
smartcardSupport = true;
pipewireSupport = true;
ffmpegSupport = true;
enablePlasmaBrowserIntegration = true;
inherit enablePlasmaBrowserIntegration enableGnomeExtensions extraNativeMessengingHosts;
};
extraPolicies = {