anchor.diff:        };
         greedy = mkNullOrBoolOption {
           description = ''
  -          Whether to always upgrade auto-updated or unversioned cask to latest version even if
  -          already installed.
  +          Whether to always upgrade auto-updated or unversioned cask to the latest version even if
  +          it's already installed.
           '';
         };
   
         brewfileLine = mkBrewfileLineOption;
       };
   
  -    config = {
  -      brewfileLine = ''cask "${config.name}"''
  -      + optionalString (config.args != null)
  -        '', args: { ${removePrefix "cask_args " config.args.brewfileLine} }''
  -      + optionalString (config.greedy != null) ", greedy: ${boolToString config.greedy}";
  -    };
  +    config =
  +      let
  +        sCfg = mkProcessedSubmodConfig config;
  +        sCfgSubset = removeAttrs sCfg [ "name" ];
  +      in
  +      {
  +        brewfileLine =
  +          "cask ${sCfg.name}"
  +          + optionalString (sCfgSubset != { }) ", ${mkBrewfileLineOptionsListString sCfgSubset}";
  +      };
     };
   in
   
   {
  +  # Interface --------------------------------------------------------------------------------------
  +
     options.homebrew = {
       enable = mkEnableOption ''
         configuring your Brewfile, and installing/updating the formulas therein via
         the <command>brew bundle</command> command, using <command>nix-darwin</command>.
   
  -      Note that enabling this option does not install Homebrew. See the Homebrew website for
  -      installation instructions: https://brew.sh
  +      Note that enabling this option does not install Homebrew. See the Homebrew
  +      <link xlink:href="https://brew.sh">website</link> for installation instructions
       '';
   
       autoUpdate = mkOption {
         type = types.bool;
         default = false;
         description = ''
  -        When enabled, Homebrew is allowed to auto-update during <command>nix-darwin</command>
  +        Whether to enable Homebrew to auto-update during <command>nix-darwin</command>
           activation. The default is <literal>false</literal> so that repeated invocations of
           <command>darwin-rebuild switch</command> are idempotent.
         '';
  
positive.code:         type = with types; nullOr (listOf str);
          default = null;
          description = ''
            Arguments to pass to <command>brew install</command>.
          '';
        };
        conflicts_with = mkOption {
  
negative.code:     else abort "The value: ${generators.toPretty v} is not a valid Brewfile value.";
  
    mkBrewfileLineOptionsListString = attrs:
      concatStringsSep ", " (mapAttrsToList (n: v: "${n}: ${v}") attrs);
  
  
    # Submodule helper functions ---------------------------------------------------------------------
  
    mkNullOrBoolOption = args: mkOption (args // {
      type = types.nullOr types.bool;
  