Automate Your OS X App Installations
"To install, drag this icon..." no more!
I refined my original cask script for installing the software needed on multiple Mac workstations. The new version now allows you to configure parameters of the installation such as install path and which category of applications you wish to install.
The point of this tool is to help me configure (or reconfigure) workstations as needed by removing the manual work of finding the applications I always use online, unpacking, and copying to applications folder. That process becomes a tedious task when working with dozens of pieces of software.
Fork it for your own use on Github!
Why a sudden update?
A new version of OS X El Capitan is to be released very soon. I’ve always felt installing a fresh OS ran smoother than doing an upgrade. Maybe the scars are that deep from the days of going Windows 95 to 98? Idk.
Anyways, I’ll be doing a fresh install of El Capitan and I wanted to make sure my apps were in order since I’ve last used my cask script. The process of manually installing each app takes longer than the actual OS install. Furthermore, I don’t need all apps installed in one shot so I broke them up into installable category groups… Something I have been itching to do since the original mockup.
How it works
You’ll notice a file called install.rb
in the project root. This is the
script you will interface with for installing (or uninstalling) applications.
Applications are grouped by categories located in the ./category
folder
where you can add more or less.
You can get a list of configurable options by running the -h
help option.
ruby install.rb -h
Options
–appdir
The default location cask uses for Application shortcuts is ~/Applications
. I
change this setting in my install command to point to /Applications
.
Default: /Applications
Example:
ruby install.rb --appdir=/Applications
–category
Name of the application category group to install (or uninstall). The category
name should reference a file in the ./category/
directory, excluding the file
extension. If no category group is specified then all will be installed.
Example:
ruby install.rb --category=browsers
or:
ruby install.rb -c browsers
–uninstall
This changes the default install
option to uninstall
. With this flag on you
can uninstall a category group or uninstall everything. This option requires no additional arguments.
Example:
ruby install.rb -c browsers --uninstall
or
ruby install.rb -c browsers -u
Updates
Follow the GitHub repository for updates and please add any feature requests to the project issues. I welcome pull requests :)
Known issues
Unfortunately there is no way to specify the specific version of an app that you need. This hasn’t been much of an issue for me yet but I know it would be nice to have.
License
This was created by Richard Sumilang and is licensed under the CC BY-SA 3.0 license. You are encouraged to fork this repository and make adjustments according to your preferences.