diff options
Diffstat (limited to 'hm/soispha/conf/firefox/package.nix')
-rw-r--r-- | hm/soispha/conf/firefox/package.nix | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/hm/soispha/conf/firefox/package.nix b/hm/soispha/conf/firefox/package.nix new file mode 100644 index 00000000..8f9d09c0 --- /dev/null +++ b/hm/soispha/conf/firefox/package.nix @@ -0,0 +1,32 @@ +# taken from the NixOS Firefox module: https://github.com/NixOS/nixpkgs/blob/7c9cc5a6e5d38010801741ac830a3f8fd667a7a0/nixos/modules/programs/firefox.nix +{ + config, + lib, + pkgs, + # options + autoConfig ? "", + extraNativeMassagingHosts ? [], + wrapperConfig ? {}, + extraPolicies ? {}, + base_package ? pkgs.firefox, + ... +}: let + pkg = base_package.override (old: { + inherit extraPolicies; + extraPrefs = autoConfig; + extraNativeMessagingHosts = + old.extraNativeMessagingHosts + or [] + ++ extraNativeMassagingHosts; + cfg = let + # copy-pasted from the wrapper; TODO: figure out fix + applicationName = base_package.binaryName or (lib.getName base_package); + + oldCfg = old.cfg or {}; + nixpkgsConfig = pkgs.config.${applicationName} or {}; + optionConfig = wrapperConfig; + in + oldCfg // nixpkgsConfig // optionConfig; + }); +in + pkg |