macOS defaults(1) command generator
Project description
Prefsniff
Author: Zachary Cutlip, uid000 at gmail
prefsniff
is a utility to watch macOS plist files for changes, and then autogenerate the defaults
command to apply those changes. Its intended use is to have prefsniff
watch a plist file while setting a system or application preference. The resulting defaults command can then be added to a shell script or incorporated into a configuration management system such as Ansible.
Installing
$ git clone <repo url> prefsniff
$ cd prefsniff
$ pip install -r ./requirements.txt
Using
prefsniff
has two modes of operation; directory mode and file mode.
- Directory mode: watch a directory (non-recursively) for plist files that are unlinked and replaced in order to observe what file backs a particular configuration setting.
- File mode: watch a plist file in order to represent its changes as one or more
defaults
command.
Directory mode example:
$ ./prefsniff ~/Library/Preferences/
Watching prefs file:
Detected change: [created] /Users/zach/Library/Preferences/com.apple.dock.plist.DnakVR2
Detected change: [modified] /Users/zach/Library/Preferences/
Detected change: [deleted] /Users/zach/Library/Preferences/com.apple.dock.plist
Detected change: [modified] /Users/zach/Library/Preferences/com.apple.dock.plist.DnakVR2
Detected change: [moved] /Users/zach/Library/Preferences/com.apple.dock.plist.DnakVR2
Detected change: [modified] /Users/zach/Library/Preferences/
File mode example:
$ ./prefsniff ~/Library/Preferences/com.apple.dock.plist
Watching prefs file: com.apple.dock.plist
*****************************
defaults write com.apple.dock orientation -string left
*****************************
Watching prefs file: com.apple.dock.plist
TODO
- Implement
data
anddate
plist types - Clean up output so that it can be redirected to a shell script or similar
- Add additional output options (such as the name of a shell script to create)
- Split utility & API
- Make prefsniff into a python module that exports API
- Make a separate
prefsniff
command-line utility that uses the API
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
prefsniff-0.1.0b2.tar.gz
(7.5 kB
view hashes)
Built Distribution
Close
Hashes for prefsniff-0.1.0b2-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9b089afb12308d03208c680a12441b9a66625e29e0f5cf15b7a4066fcc2c14f4 |
|
MD5 | e8db47f4575e9bf5fe91f921849bc950 |
|
BLAKE2b-256 | d0ef2666b92dd46ae16c537b4ddbd6e0ec8604865e84d5e75ebda12f09269c64 |