anchor.diff:    # Implementation ---------------------------------------------------------------------------------
   
     config = {
  +
  +    warnings = [
  +      (mkIf (options.homebrew.autoUpdate.isDefined || options.homebrew.cleanup.isDefined) "The `homebrew' module no longer upgrades outdated formulae and apps by default during `nix-darwin' activation. To enable upgrading, set `homebrew.onActivation.upgrade = true'.")
  +    ];
  +
       homebrew.brews =
         optional (cfg.masApps != { }) "mas"
         ++ optional (cfg.whalebrews != [ ]) "whalebrew";
  
positive.code:         Note that you need to be signed into the Mac App Store for <command>mas</command> to
          successfully install and upgrade applications, and that unfortunately apps removed from this
          option will not be uninstalled automatically even if
          <option>homebrew.cleanup</option> is set to <literal>"uninstall"</literal>
          or <literal>"zap"</literal> (this is currently a limitation of Homebrew Bundle).
  
          For more information on <command>mas</command> see:
  
negative.code:   #     * lib/bundle/dsl.rb
    #     * lib/bundle/{brew,cask,tap}_installer.rb
    #     * spec/bundle/{brew,cask,tap}_installer_spec.rb
  
    onActivationOptions = { config, ... }: {
      options = {
        cleanup = mkOption {
          type = types.enum [ "none" "uninstall" "zap" ];
          default = "none";
          example = "uninstall";
          description = ''
            This option manages what happens to formulae installed by Homebrew, that aren't present in
            the Brewfile generated by this module, during <command>nix-darwin</command> activation.
  
            When set to <literal>"none"</literal> (the default), formulae not present in the generated
            Brewfile are left installed.
  
            When set to <literal>"uninstall"</literal>, <command>nix-darwin</command> invokes
            <command>brew bundle [install]</command> with the <command>--cleanup</command> flag. This
            uninstalls all formulae not listed in generate Brewfile, i.e.,
            <command>brew uninstall</command> is run for those formulae.
  
            When set to <literal>"zap"</literal>, <command>nix-darwin</command> invokes
            <command>brew bundle [install]</command> with the <command>--cleanup --zap</command>
            flags. This uninstalls all formulae not listed in the generated Brewfile, and if the
            formula is a cask, removes all files associated with that cask. In other words,
            <command>brew uninstall --zap</command> is run for all those formulae.
  
            If you plan on exclusively using <command>nix-darwin</command> to manage formulae
            installed by Homebrew, you probably want to set this option to
            <literal>"uninstall"</literal> or <literal>"zap"</literal>.
          '';
        };
        autoUpdate = mkOption {
          type = types.bool;
          default = false;
          description = ''
            Whether to enable Homebrew to auto-update itself and all formulae during
            <command>nix-darwin</command> activation. The default is <literal>false</literal> so that
            repeated invocations of <command>darwin-rebuild switch</command> are idempotent.
  
            Note that Homebrew auto-updates when it's been more then 5 minutes since it last updated.
          '';
        };
        upgrade = mkOption {
          type = types.bool;
          default = false;
          description = ''
            Whether to enable Homebrew to upgrade outdated formulae and Mac App Store apps during
            <command>nix-darwin</command> activation. The default is <literal>false</literal> so
            that repeated invocations of <command>darwin-rebuild switch</command> are idempotent.
          '';
        };
  
        brewBundleCmd = mkOption {
          type = types.str;
          visible = false;
          internal = true;
          readOnly = true;
        };
      };
  
      config = {
        brewBundleCmd = concatStringsSep " " (
          optional (!config.autoUpdate) "HOMEBREW_NO_AUTO_UPDATE=1"
          ++ [ "brew bundle --file='${brewfileFile}' --no-lock" ]
          ++ optional (!config.upgrade) "--no-upgrade"
          ++ optional (config.cleanup == "uninstall") "--cleanup"
          ++ optional (config.cleanup == "zap") "--cleanup --zap"
        );
      };
    };
  
    tapOptions = { config, ... }: {
      options = {
  