https://github.com/zbeekman/launchctl-tasks
A set of short & sweet `launchctl` plists for automating boring tasks on macOS 🤖🍏
https://github.com/zbeekman/launchctl-tasks
Last synced: 12 months ago
JSON representation
A set of short & sweet `launchctl` plists for automating boring tasks on macOS 🤖🍏
- Host: GitHub
- URL: https://github.com/zbeekman/launchctl-tasks
- Owner: zbeekman
- License: mit
- Created: 2018-10-09T21:38:39.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-10-09T22:09:21.000Z (over 7 years ago)
- Last Synced: 2025-01-21T00:19:45.444Z (over 1 year ago)
- Homepage:
- Size: 8.79 KB
- Stars: 10
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
launchctl-tasks
===============
A set of short and sweet `launchctl` plists I have defined for running boring tasks on macOS
Why?
----
`launchctl` is the preferred means of automating tasks on macOS (over, say, `cron`). I original started
using `launchctl` to perform the following main tasks:
- Ensuring software updates/maintanence can happen automatically/psuedo-automatically
- I always had a manifest of installed software that was up-to-date in my time machine backups
(via [`brew bundle`])
- Establishing reliable reverse ssh tunnels for NAT busting, so that my macOS boxes are accessible to me
even if they are behind some NAT on a network I don't control.
I use the [LaunchControl App] for editing and managing the plist files, since it provides some great
functionality. This is non-free software and I have purchased a license for it.
Contents
--------
__[User Agents]__
* [sh.brew.update]: Ensure homebrew's package repository remains up to date; spend less of your life waiting
for homebrew git transactions to take place
* [sh.brew.outdated]: Keep a list of outdated formulae in /tmp so your dot files can inform you about
outadted packages when you log in
* [sh.brew.cask.outdated]: Keep a list of outdated casks in /tmp so your dot files can inform you when apps
installed as casks need updating
* [com.github.mas-cli.mas]: Keep a list of outdated mac App store apps in /tmp so your dot files can remind
you to update them when you log in
* [sh.brew.bundle.dump]: Ensure you have an up-to-date `.Brewfile` in your home directory. This way, a
manifest of installed software will always be up-to-date and make it into your TimeMachine backups should
you need to restore your machine and re-provision it
* [sh.brew.fetch-outdated]: Download bottles (binary distributions) for outdated homebrew software in the
background, so that it is ready to install and will skip the download step when `brew upgrade` is run
[`brew bundle`]: https://github.com/Homebrew/homebrew-bundle
[LaunchControl App]: http://www.soma-zone.com/LaunchControl/
[User Agents]: ./UserAgents
[sh.brew.update]: ./UserAgents/sh.brew.update.plist
[sh.brew.outdated]: ./UserAgents/sh.brew.outdated.plist
[sh.brew.cask.outdated]: ./UserAgents/sh.brew.cask.outdated
[com.github.mas-cli.mas]: ./UserAgents/com.github.mas-cli.mas.plist
[sh.brew.bundle.dump]: ./UserAgents/sh.brew.bundle.dump.plist
[sh.brew.fetch-outdated]: ./UserAgents/sh.brew.fetch-outdated.plists