anchor.diff:          bcfg = setAttrByPath [browserName] fcfg;
   
           package =
  -          if versionAtLeast config.home.stateVersion "19.09"
  -          then cfg.package.override { cfg = fcfg; }
  -          else (pkgs.wrapFirefox.override { config = bcfg; }) cfg.package { };
  +          if isDarwin then
  +            cfg.package
  +          else if versionAtLeast config.home.stateVersion "19.09" then
  +            cfg.package.override { cfg = fcfg; }
  +          else
  +            (pkgs.wrapFirefox.override { config = bcfg; }) cfg.package { };
         in
           [ package ];
   
       home.file = mkMerge (
         [{
  -        ".mozilla/${extensionPath}" = mkIf (cfg.extensions != []) (
  +        "${mozillaConfigPath}/${extensionPath}" = mkIf (cfg.extensions != []) (
             let
               extensionsEnv = pkgs.buildEnv {
                 name = "hm-firefox-extensions";
  
positive.code:     flip mapAttrs' cfg.profiles (_: profile:
        nameValuePair "Profile${toString profile.id}" {
          Name = profile.name;
          Path = profile.path;
          IsRelative = 1;
          Default = if profile.isDefault then 1 else 0;
        }
  
negative.code:           }
          );
  
          "${firefoxConfigPath}/profiles.ini" = mkIf (cfg.profiles != {}) {
            text = profilesIni;
          };
        }]
        ++ flip mapAttrsToList cfg.profiles (_: profile: {
          "${profilesPath}/${profile.path}/chrome/userChrome.css" =
            mkIf (profile.userChrome != "") {
              text = profile.userChrome;
            };
  
          "${profilesPath}/${profile.path}/user.js" =
            mkIf (profile.settings != {} || profile.extraConfig != "") {
              text = mkUserJs profile.settings profile.extraConfig;
            };
  