Skip to content

Defining Additional Features

Trevor Sysock edited this page Apr 17, 2026 · 11 revisions

Configuring Restart

  • By default, Baseline forces a restart on the device upon completion of all tasks. If you do not want this, you can add a boolean key of Restart and provide the value false
<key>Restart</key>
<false/>
  • If this key is provided, the device is not forced to restart and the final dialog window will not include a timer.

Configuring LogOut

  • Boolean, default is false
  • If set to true, Baseline will force a logout at the end of the run.
  • If LogOut and Restart are both set to true, then Restart takes priority.
<key>LogOut</key>
<true/>

Configuring ExitCondition

  • Define a file or folder path as a string.
  • If this file or folder exists on the computer running Baseline, the script will exit quietly
  • Use this if your deployment method lacks the ability to scope as needed, and prevent Baseline from running on computers you do not want it to run on.
  • You can have one of your defined Scripts create a "completion file" and then use this key to have Baseline check for completion before proceeding.
  • Do not escape whitespace with a \
  • Do not quote your file path, even if there are spaces
  • Avoid special characters
<key>ExitCondition</key>
<string>/Applications/Google Chrome.app</string>

Configuring BailOutFile

  • Type: string Value: /path/to/file
  • Each time Baseline processes any item it will check for the existence of this file.
  • If this file exists, Baseline will exit immediately instead of continuing to process items.
  • A failure message will be shown including the name of the previous item as a failure.
  • Use this feature if you want an escape from the entire Baseline process based on the output of a script or pkg run.
  • This file will be deleted upon exit.
  • Baseline will exit using the exit conditions configured in the profile.

Configuring CleanupAfterUse

  • If CleanupAfterUse key is configured as false, then Baseline will not delete it's working directory /usr/local/Baseline.
  • The LaunchDaemon will still always be deleted, in order to prevent multiple runs.
  • This key defaults to true and can be omitted if you wish to keep the previous behavior to delete the Baseline folder.
<key>CleanupAfterUse</key>
<false/>

Configuring ProgressBar

  • Boolean, default is false
  • If set to True, the swiftDialog Progress Bar feature will be used and incremented as items are progressed
  • This feature added by: Mykola Grymalyuk @khronokernel

Configuring ProgressBarDisplayNames

  • Boolean, default is false
  • If set to true, the swiftDialog progresstext feature will be used, and will list each item on the bottom of the window as it's being processed.
  • Currently only works if ProgressBar is also set to true, but this may change with a future swiftDialog update
  • This feature added by: Mykola Grymalyuk @khronokernel

Configuring BlurScreen

  • Boolean, default is true
  • If this key is set to false, the --blurscreen feature of swiftDialog will not be used.
  • You may wish to add --ontop and/or --moveable to the swiftDialog Options for each window.

Configuring Button1Enabled

  • Boolean, defaults is false
  • If set to true the --button1disabled feature of swiftDialog will not be used.

Configuring ReinstallDialog

  • This key is deprecated as of v2.3, as it is no longer needed to achieve the goal of setting a custom Dialog icon.

Configuring IgnoreDefaultInstallomatorOptions

  • Boolean, defaults to false
  • Set this value to true if you do not want Baseline to use the built-in default Installomator options.
  • Built in options are NOTIFY=silent and BLOCKING_PROCESS_ACTION=kill

Configuring InstallomatorswiftDialogIntegration

  • Boolean, defaults to false
  • If set to true, Baseline will use the native Installomator/swiftDialog integration.
  • This will bring a lot more information per line item on what's happening during installation of Installomator labels, but that functionality will not be present in packages or scripts processed by Baseline unless you program it yourself.

Configuring SilentMode

  • Boolean, defaults to false
  • If set to true, Baseline will run in Silent Mode. There will be no SwiftDialog windows, no user interaction, and Baseline will not wait for an end user to be logged in before processing items.

Retries

  • Default retry value for all types is 0
  • You can set defaults for the three major types using:
    • DefaultScriptRetries
    • DefaultInstallomatorRetries
    • DefaultPackageRetries
  • You can override the default retries value for any individual item using: Retries on that item's definition
  • Note that Baseline retries do not attempt to redownload remote packages or scripts and do not retry SHA256/MD5 checksum tests.
    • For download retries, see the new curlOptions feature
  • Baseline will wait SleepBetweenRetries seconds between retries. Default is 5.

Skip the Success/Fail final Dialog Screen

SkipSuccessDialog and SkipFailDialog are boolean values, which default to false. If set to true, the final Baseline dialog window is skipped entirely. Restart or Logout actions will still happen as expected.

Skip List View

ShowList is a boolean that defaults to true. Set this to false if you want Baseline to never show the default List View. This could be usedful if you want to craft your own Dialog onboarding experience, while allowing Baseline to process items in the background and maybe still display a Success/Fail dialog.

Clone this wiki locally