diff options
author | K900 <me@0upti.me> | 2023-10-19 13:10:22 +0300 |
---|---|---|
committer | K900 <me@0upti.me> | 2023-10-19 13:10:22 +0300 |
commit | 23704cce1f1c38fbf68e3ba76d80dad5199204bf (patch) | |
tree | ea6a5d470c02a083a5a35ddaf846c03d4840db56 /nixos/modules/programs | |
parent | 5f1d8b72555028a8c5cbc188f8ee39b233134254 (diff) |
nixos/firefox: preserve old wrapper args when overriding
Also some drive-by cleanups
Diffstat (limited to 'nixos/modules/programs')
-rw-r--r-- | nixos/modules/programs/firefox.nix | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/nixos/modules/programs/firefox.nix b/nixos/modules/programs/firefox.nix index 83a3edaf813ef..99236f01c5370 100644 --- a/nixos/modules/programs/firefox.nix +++ b/nixos/modules/programs/firefox.nix @@ -220,23 +220,20 @@ in config = mkIf cfg.enable { environment.systemPackages = [ - (cfg.package.override { + (cfg.package.override (old: { extraPrefs = cfg.autoConfig; - extraNativeMessagingHosts = with pkgs; optionals nmh.ff2mpv [ - ff2mpv - ] ++ optionals nmh.euwebid [ - web-eid-app - ] ++ optionals nmh.gsconnect [ - gnomeExtensions.gsconnect - ] ++ optionals nmh.jabref [ - jabref - ] ++ optionals nmh.passff [ - passff-host - ]; + extraNativeMessagingHosts = + old.extraNativeMessagingHosts or [] + ++ optional nmh.ff2mpv ff2mpv + ++ optional nmh.euwebid web-eid-app + ++ optional nmh.gsconnect gnomeExtensions.gsconnect + ++ optional nmh.jabref jabref + ++ optional nmh.passff passff-host; cfg = let # copy-pasted from the wrapper; TODO: figure out fix applicationName = cfg.package.binaryName or (lib.getName cfg.package); + oldCfg = old.cfg or {}; nixpkgsConfig = pkgs.config.${applicationName} or {}; optionConfig = cfg.wrapperConfig; nmhConfig = { @@ -246,8 +243,8 @@ in enableUgetIntegrator = nmh.ugetIntegrator; enableFXCastBridge = nmh.fxCast; }; - in nixpkgsConfig // optionConfig // nmhConfig; - }) + in oldCfg // nixpkgsConfig // optionConfig // nmhConfig; + })) ]; environment.etc = |