Skip to content
aysiu edited this page Jul 8, 2024 · 6 revisions

The preferences system in Outset 4+ operates differently to previous versions.

UserDefaults and Preferences Location

Outset 4+ uses macOS UserDefaults for storing and retreiving information required in the course of processing. This can result in preferences being across a number of files depending on context.

Domain io.macadmins.Outset

The preference domain for Outset is io.macadmins.Outset.

  • Run in a user context this places a io.macadmins.Outset.plist in the users ~/Library/Preferences/ directory.
  • In a root context, /var/root/Library/Preferences/ is used.

The command defaults read io.macadmins.Outset will return just the settings for that context. When Outset reads in the preference domain it will collate preferences from the various locations on the system and present them as a whole.

When a preference key such as sha256sum is present in multiple preference domains in macOS, the order of precedence for determining which value to use is as follows:

  1. Managed preferences: If the preference key is present in a managed preference domain, it will take precedence over all other domains. Managed preferences are set by an administrator or device management system, and their values cannot be changed by the user.

    /Library/Managed Preferences/io.macadmins.Outset.plist
    
  2. User preferences: If the preference key is present in the user preference domain, it will take precedence over the system preference domain. User preferences are specific to the currently logged-in user, and their values can be changed by the user through the application's user interface or through a preference editor.

    User: `~/Library/Preferences/io.macadmins.Outset.plist`
    root:  `/var/root/Library/Preferences/io.macadmins.Outset.plist`
    
  3. System preferences: If the preference key is present in the system preference domain, it will take precedence over any default values specified by the application. System preferences are global settings that apply to all users on the current computer.

    /Library/Preferences/io.macadmins.Outset.plist
    

Managing Preferences

Preference keys you might want to manage either locally or MDM:

ignored_users - An array if usernames to add to the ignored users list

<key>ignored_users</key>
<array>
	<string>bob</string>
	<string>jane</string>
	<string>jill</string>
</array>

network_timeout - specify how long Outset waits for network activity

<key>network_timeout</key>
<integer>180</integer>

wait_for_network - Enable or disable wait for network

<key>wait_for_network</key>
<true/>

sha256sum - Manage file verification checksums

<key>sha256sum</key>
<dict>
	<key>/usr/local/outset/login-every/example.sh</key>
	<string>6591abcec4e0bdcc75c9509cee7f6ddae0313fef00da9d19586431b88eada436</string>
       ...
</dict>

verbose_logging - Enable verbose logging

<key>verbose_logging</key>
<true/>