Skip to content

8ta4/plist

Repository files navigation

plist

Plist Made Simplistic

What is this tool all about?

This tool lets you manage plist files on macOS. It keeps an eye on changes in plist files and spits out PlistBuddy commands when you update preferences in macOS or apps. It's useful for turning those preference settings into a setup script, so you can have a reproducible environment.

Why the love for PlistBuddy over defaults?

Unlike defaults write, PlistBuddy can handle nested preference values. But PlistBuddy is often ignored in favor of defaults write. That's why it's the "Pissed Buddy"!

Installation

How do I install the tool?

  1. Make sure you're using a Mac with Apple silicon.

  2. Install Homebrew.

  3. Run this command in your terminal:

    brew install 8ta4/plist/plist

Usage

How do I use the tool?

  1. Open your terminal.

  2. Run this command:

    plist

    That'll start the monitoring process for plist files.

  3. Change some preferences in macOS, like your Dock settings. plist will be watching for any plist file changes and will generate PlistBuddy commands. You'll see a command like this in the tool's output:

    /usr/libexec/PlistBuddy -c "Delete ':autohide'" -c "Add ':autohide' bool 'true'" "$HOME/Library/Preferences/com.apple.dock.plist"
  4. Copy and paste the generated PlistBuddy command into your setup script.

How can I monitor plist files that need root access?

To monitor plist files that need root permission (like those in /var/root), use sudo:

sudo plist

Can this tool spot every preference change?

Nah, plist can't spot every preference change because some preferences are not stored in plist files. Some settings might be in databases or other formats that plist doesn't watch.