launchd-generator

launchd.plist generator


Keywords
launchd, generator, cli, macos
License
Unlicense
Install
pip install launchd-generator==2020.12.3

Documentation

Installation

$ [sudo] pip install launchd-generator
$ [sudo] npm i -g launchd-generator

How it works

script.py -> script.py.plist, script.sh -> script.sh.plist

#!/usr/bin/env <interpreter>

KEY: VALUE
CUSTOM_KEY@type: VALUE # custom key. @type required - array/bool/integer/string

Features

Examples

agent.sh

#!/usr/bin/env bash
# StartInterval: 10

agent.sh.plist

<key>ProgramArguments</key>
<array>
    <string>/path/to/agent.sh</string>
    <string>/path/to/agent.sh.plist</string>
</array>
<key>StartInterval</key>
<integer>10</integer>

agent.py

#!/usr/bin/env python
"""
WatchPaths: ~/Desktop
WatchPaths: ~/Downloads
"""

agent.py.plist

<key>ProgramArguments</key>
<array>
    <string>/path/to/agent.py</string>
    <string>/path/to/agent.py.plist</string>
</array>
<key>WatchPaths</key>
<array>
    <string>/Users/username/Desktop</string>
    <string>/Users/username/Downloads</string>
</array>
$ cd ~/Library/LaunchAgents && find . \( -name "*.sh" -o -name "*.py" \) | xargs launchd-generator

Related

Links

readme42.com