summary refs log tree commit diff
path: root/nixos/modules/programs
diff options
context:
space:
mode:
authorK900 <me@0upti.me>2023-10-21 11:46:40 +0300
committerGitHub <noreply@github.com>2023-10-21 11:46:40 +0300
commit186cd782312f0ecfe3588b59abc138c9b3d78e3f (patch)
tree1459304ebfd764cf7a09211f888619d7428fa376 /nixos/modules/programs
parent5746fe0a80ca278a058067f3ff4ca538626c2241 (diff)
parent23704cce1f1c38fbf68e3ba76d80dad5199204bf (diff)
downloadnixpkgs-186cd782312f0ecfe3588b59abc138c9b3d78e3f.tar
nixpkgs-186cd782312f0ecfe3588b59abc138c9b3d78e3f.tar.gz
nixpkgs-186cd782312f0ecfe3588b59abc138c9b3d78e3f.tar.bz2
nixpkgs-186cd782312f0ecfe3588b59abc138c9b3d78e3f.tar.lz
nixpkgs-186cd782312f0ecfe3588b59abc138c9b3d78e3f.tar.xz
nixpkgs-186cd782312f0ecfe3588b59abc138c9b3d78e3f.tar.zst
nixpkgs-186cd782312f0ecfe3588b59abc138c9b3d78e3f.zip
Merge pull request #262017 from K900/firefox-preserve-old-args
nixos/firefox: preserve old wrapper args when overriding
Diffstat (limited to 'nixos/modules/programs')
-rw-r--r--nixos/modules/programs/firefox.nix25
1 files changed, 11 insertions, 14 deletions
diff --git a/nixos/modules/programs/firefox.nix b/nixos/modules/programs/firefox.nix
index 83a3edaf813..99236f01c53 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 =