Commit Graph

35 Commits

Author SHA1 Message Date
Brooke Kuhlmann
5569fdb345 Refactored utility basename and extension utilities
Minor cleanup to the method names used for less typing.
2020-09-12 09:58:53 -06:00
Brooke Kuhlmann
8f2173c938 Removed unnecessary verifier code comments
These were not adding much value so are safe to remove.
2020-09-12 09:51:40 -06:00
Brooke Kuhlmann
4f1ed26934 Removed Homebrew Mecurial formula verification check
No longer necessary as Mecurial isn't used or required by any
applications in the macOS Configuration project.
2020-09-12 09:45:27 -06:00
Brooke Kuhlmann
b7c89266f6 Fixed Homebrew cask verifier deprecation warning
Resolves the following warning when using Homebrew 2.5.0:

    Warning: Calling brew cask list is deprecated! Use brew list

Removed conditional checks for the Skitch, Witch, and OpenEmu
applications since they are no longer supported.
2020-09-12 09:45:27 -06:00
Brooke Kuhlmann
39cbeefef8 Refactored caffeinate machine function to process grep.
Leverages `pgrep` instead of `ps` for more efficient code.
2019-12-07 14:38:52 -07:00
Brooke Kuhlmann
f989334a11 Updated to macOS Catalina.
[Features](https://www.apple.com/macos/catalina).
2019-10-12 10:49:42 -06:00
Brooke Kuhlmann
c2c9ebf14e Added file install function.
Was originally removed in this commit (a895090ca9) and has been
restored in order to handle situations where we have only a single file
install.

For example, the MacOS Config project needs this function in order to
properly install the Pathogem (Vim) file.
2019-07-20 10:43:13 -06:00
Brooke Kuhlmann
4d9ad7315d Removed download file function.
No longer used or recommended now that the `install_*` functions
consistently install applications in the correct location based on
application name.
2018-12-29 15:13:36 -07:00
Brooke Kuhlmann
a895090ca9 Fixed program installs.
Modifies and renames the original `install_file` function so it
calculates install path based on application name. This ensures
`install_program` has the same behavior as found with similar install
functions:
  - `install_dmg_app`
  - `install_dmg_pkg`
  - `install_zip_app`
  - `install_zip_pkg`
  - `install_tar_app`
2018-12-29 15:13:36 -07:00
Brooke Kuhlmann
caa2adb45c Removed Java development tools from setup.
These tools were originally necessary for some of the Homebrew
applications to install successfully (especially Elasticsearch) but
those requirements are no longer necessary. This also reduces the setup
friction by requiring less manual work on behalf of the installer.
2018-12-29 14:06:03 -07:00
Brooke Kuhlmann
d03762425a Fixed installation of apps with no extension.
Some apps are binaries packaged within a DMG, zip, etc. that have no
extension but are executable. These are meant to go in the
`/usr/local/bin` folder.

This corresponds with the code found in the `installers.sh` file (see
the `install_app` function).
2018-12-29 14:06:03 -07:00
Brooke Kuhlmann
72f5fcb03e Removed unnecessary source code comments.
Reduced stating the obvious (in many cases) in order to improve
readability and reduce lines of code.
2018-10-28 13:35:51 -06:00
Brooke Kuhlmann
7da69e543f Updated to Java SE Development Kit 11.
Links to latest release of Java SE SDK.
2018-10-27 11:59:21 -06:00
Brooke Kuhlmann
be396b9581 Updated to Java SE Development Kit 10.
Provides a link to the latest JDK.
2018-09-25 17:35:28 -06:00
Brooke Kuhlmann
6dd6d93bb8 Updated boot disk creation to macOS Mojave.
Provides support for the latest
[macOS](https://www.apple.com/macos/mojave) release.
2018-09-25 17:35:28 -06:00
Brooke Kuhlmann
f6610849eb Updated Git checkout to silence detached head warnings.
Avoids displaying the following warning in the logs when checking out a
specific version of a project for install purposes:

    You are in 'detached HEAD' state. You can look around, make
    experimental changes and commit them, and you can discard any
    commits you make in this state without impacting any branches by
    performing another checkout.

    If you want to create a new branch to retain commits you create,
    you may do so (now or later) by using -b with the checkout command
    again. Example:

      git checkout -b <new-branch-name>

    HEAD is now at f836f876a178 Added version release changes.
2018-08-01 19:31:23 -06:00
Brooke Kuhlmann
d0c2335f35 Removed restorer functions.
No longer needed as these have been eclipsed by the restore from backup
functionality that uses rsync.
2018-08-01 19:31:23 -06:00
Brooke Kuhlmann
cc9fc3a2f9 Removed Java install support.
No longer used as the installer is prompted for instead.
2018-07-29 17:41:30 -06:00
Brooke Kuhlmann
023c8bbae2 Refactored function parameter documentation.
Cleaned up function documentation to be consistent with rest of
project.
2018-07-29 16:05:09 -06:00
Brooke Kuhlmann
5c12a47f11 Added App Store application verification.
Ensures all listed App Store applications are installed. Otherwise, it
lists those which are not.
2018-07-29 15:48:01 -06:00
Brooke Kuhlmann
cc1b7527fe Added Homebrew cask application verifier.
Verifies installation of Homebrew casks by ensuring installed
applications cross check against defined list.
2018-07-29 15:02:59 -06:00
Brooke Kuhlmann
2f6b385f2f Refactored library function order.
Moved primary functions above secondary functions for easier
readability.
2018-07-29 13:56:00 -06:00
Brooke Kuhlmann
6c06f7107b Fixed verification of Homebrew formulas.
The `verify_homebrew_formulas` function will no longer error when
checking Homebrew formulas due to invalid function name.
2018-07-29 13:37:36 -06:00
Brooke Kuhlmann
c6ef97a88b Updated boot disk creation to use macOS High Sierra.
Necessary to create a boot disk for the latest macOS version.
2017-10-01 11:40:24 -06:00
Brooke Kuhlmann
949a6b9d1e Fixed Java SE Development Kit install.
- Oracle makes it difficult to download the Java SE Development Kit as
  an offline download because the license must be accepted first. The
  JDK is important to have installed as several Homebrew apps require
  it to exist first.
- This provides a prompt for checking that the Java SE Development Kit
  has been installed before proceeding as the original way of
  installing it assumed you had visited the Oracle web site and
  accepted the license.
2017-04-29 07:44:50 -06:00
Sam Wolfson
3b6137ec36 Fix install-all command
The install-all command does not reflect that the `bin/install_homebrew` file was split into `bin/install_homebrew_formulas` and `bin/install_homebrew_casks`, and therefore fails to install.
2017-04-29 06:55:32 -06:00
Brooke Kuhlmann
8bf0ef473d Added Homebrew Casks install script.
- Provides support for installing Homebrew Casks.
2017-02-17 19:27:37 -07:00
Brooke Kuhlmann
79f7103179 Refactored Homebrew software as Homebrew Formulas.
- Allows for expansion of additional Homebrew software in the future
  (i.e. taps, bottles, casks, etc.)
2017-02-17 19:18:02 -07:00
Brooke Kuhlmann
8af0c44eba Fixed install of zip app downloads with sub-directories.
- Discovered some applications, packaged in zip file format, would
  extract to a sub-directory. This was problematic because all zip app
  installs previously assumed the app would be unzipped in the current
  directory. This fixes that situation where an app might be located in
  a sub-directory or several sub-directory deep.
- The easiest fix for this problem would have been to the `-j` option
  for *junk* paths via unzip: "The archive's directory structure is not
  recreated; all files are deposited in the extraction directory (by
  default, the current one)." ...but some zip files, when unzipped, run
  executable code that creates the sub-directory structure dynamically
  which makes the `-j` option not viable.
- The solution used to fix this problem uses `find` to determine if the
  application to install is in a sub-directory. If so, then the app is
  copied to the root folder (i.e. $MAC_OS_WORK_PATH) so the script can
  install as it has done in the past. Because the file copy is executed
  only if `find` finds something, this makes the copy optional for sub-
  directories and is a no-op for standard zip files with no sub-
  directories.

Discovered that some zip app downloads use executable scripts to
  build for the particular machine when unzipped.

http://earthlingsoft.net/UnicodeChecker/index.html
2017-01-08 10:12:20 -07:00
Brooke Kuhlmann
3320a8d027 Fixed reinstaller path issues with application and extension scripts.
- These reinstallers were not making use of the new `bin` scripts.
2016-10-12 11:28:48 -06:00
Brooke Kuhlmann
d546d79759 Added script hooks for unfinished custom configurations.
- These scripts default to calling out to scripts of the same name as
  defined by the custom configuration project (i.e.
  `$MAC_OS_CONFIG_PATH`).
- This helps ensure the scripts in this project can be run
  appropriately even if the custom configuration project hasn't fully
  implemented all scripts yet.
- This also helps illustrate what scripts are necessary when creating a
  custom configuration.
2016-10-11 16:31:47 -06:00
Brooke Kuhlmann
57e20929b3 Added script hook for App Store software install.
- Allows for the automation of Mac App Store software via the
  [Mac App Store CLI](https://github.com/mas-cli/mas) app.
- See [macOS Config](https://github.com/bkuhlmann/mac_os-config) for
  usage.
2016-10-11 11:54:20 -06:00
Brooke Kuhlmann
d45be4e61d Fixed verification of Homebrew application installs.
- Was pointing to the incorrect macOS Config path now that
  the base macOS scripts and macOS configuration files have been
  split into two projects.
2016-10-11 10:41:11 -06:00
Brooke Kuhlmann
8fbf63a783 Fixed Bash script header to dynamically load correct environment.
- Improves loading of the correct Bash environment/version, especially
  on systems that might not be using a standard install (i.e.
  Homebrew), by loading a version of Bash as defined by the environment
  rather than a hard coded path.

[ci skip]
2016-10-10 09:37:54 -06:00
Brooke Kuhlmann
682c06f234 Added initial port of original OSX project.
- This is a copy of the [OSX](https://github.com/bkuhlmann/osx) project
  originally released on 2012-03-31. The OSX project has been
  deprecated. All future development and support will take place with
  this project instead.
- This project uses the *macOS* name in order to better match the
  updated branding and terminology used by Apple.
2016-10-05 20:55:00 -06:00