about summary refs log tree commit diff stats
path: root/hm/soispha/conf/firefox/package.nix
blob: 8f9d09c074a336fc9f5c24514b44bcfc7fd27c53 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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