Skip to content

Defining Packages Scripts and Installomator Labels

BigMac Admin edited this page Jun 19, 2024 · 5 revisions

Baseline performs actions based on a configuration profile delivered via MDM or manually installed. The top level keys in the profile are arrays with dictionaries defined beneath them.

Currently Supported Keys

  • InitialScripts
  • Installomator
  • Packages
  • Scripts

Defining Installomator Labels

By default, Baseline runs Installomator labels with the following arguments in order to ensure users are not prompted to quit applications: BLOCKING_PROCESS_ACTION=kill NOTIFY=silent See the Defining Additional Features page if you do not want these Installomator options to be used.

Required arguments for an Installomator label:

  • <DisplayName> : The human facing name of this item.
  • <Label> : The Installomator label

Optional arguments for an Installomator label:

  • <Arguments> : Additional options/arguments passed to Installomator for this label. These can be simple, or a complete valuesfromarguments custom label.
  • <Icon> : Define an icon which will appear on this row of the SwiftDialog list view. See SwiftDialog documentation for more details.
  • <Subtitle> : Define a sub-title to be added to the row under the DisplayName of the SwiftDialog List View. SwiftDialog documentation

Example Installomator configurations:

<key>Installomator</key>
<array>
    <dict>
        <key>DisplayName</key>
        <string>Google Chrome</string>
        <key>Label</key>
        <string>googlechromepkg</string>
    </dict>
    <dict>
        <key>DisplayName</key>
        <string>Desktoppr</string>
        <key>Label</key>
        <string>valuesfromarguments</string>
        <key>Arguments</key>
        <string>"name=desktoppr" "type=pkg" "downloadURL=https://github.com/scriptingosx/desktoppr/releases/download/v0.3/desktoppr-0.3.pkg" "expectedTeamID=JME5BW3F3R"</string>
        <key>Icon</key>
        <string>SF=desktopcomputer</string>
        <key>Subtitle</key>
        <string>A utility for setting the desktop wallpaper.</string>
    </dict>
</array>

Defining Packages

Required arguments for Packages:

  • <DisplayName> : The human facing name of this item
  • <PackagePath> : The path to the package to be installed. The path can be defined in three ways
    • The filename of a package you have placed in the /usr/local/Baseline/Packages directory. This is useful if you package Baseline yourself and include additional packages.
    • A local file path. Example: /Library/Application Support/ManagementDirectory/CompanyLogos.pkg
    • A remote URL hosting a package to be installed: https://github.com/SecondSonConsulting/Renew/releases/download/v1.0.1/Renew_v1.0.1.pkg

Optional arguments for Packages:

  • <TeamID> : Use this to define the expected TeamID of a signed package in order to verify the authenticity.
  • <MD5> : Use this to define the expected md5 hash to ensure the integrity of your package.
  • <Arguments> : In the rare cases a .pkg has additional arguments you wish to pass through the installer command, you can do so using this key.
  • <Icon> : Define an icon which will appear on this row of the SwiftDialog list view. See SwiftDialog documentation for more details.
  • <Subtitle> : Define a sub-title to be added to the row under the DisplayName of the SwiftDialog List View. SwiftDialog documentation

Defining Scripts

Required arguments for Scripts:

  • <DisplayName> : The human facing name of this item
  • <ScriptPath> : The path to the script to be installed. The path can be defined in three ways
    • The filename of a script you have placed in the /usr/local/Baseline/Scripts directory. This is useful if you package Baseline yourself and include additional scripts.
    • A local file path. Example: /Library/Application Support/ManagementDirectory/UserSetup.sh
    • A remote URL hosting a script to be run: https://github.com/SecondSonConsulting/macOS-Scripts/blob/main/sophosInstall.sh

Optional arguments for Scripts:

  • <MD5> : Use this to define the expected md5 hash to ensure the integrity of your script.
  • <Arguments> : Use this to define additional arguments you wish to pass to your script.
  • <Icon> : Define an icon which will appear on this row of the SwiftDialog list view. See SwiftDialog documentation for more details.
  • <Subtitle> : Define a sub-title to be added to the row under the DisplayName of the SwiftDialog List View. SwiftDialog documentation
<key>Scripts</key>
<array>
    <dict>
        <key>DisplayName</key>
        <string>Example Script</string>
        <key>ScriptPath</key>
        <string>https://github.com/SecondSonExampleScript.sh</string>
        <key>Arguments</key>
        <string>--group "Standard Workstations"</string>
        <key>MD5</key>
        <string>e567252z26d6032dd232df75fd3ba500</string>
    </dict>
</array>

Defining InitialScripts

  • InitialScripts are processed by the same function as Scripts and thus have the same requirements and features.
  • InitialScripts are run immediately upon a confirmed end user login, and prior to the main Dialog list.
  • There is no SwiftDialog window open while Initial Scripts are being processed. This means admins are welcome to create their own custom SwiftDialog experience with branding and messaging as you see fit.
  • It is recommended that Initial Scripts call a dialog window with the --blurscreen and --ontop options to match the defaults used in the main Baseline script.