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

macOS

Patreon

Shell scripts for automated macOS machine setup. This project provides the foundational tooling for automated macOS machine setup. To customize further see the companion macOS Config project for details.

Table of Contents

Features

  • Provides a command line interface for installation and management of macOS software.
  • Downloads and installs development tooling (required by Homebrew):
  • Downloads, installs, and configures Homebrew command line software.
  • Downloads, installs, and configures software applications generally not in the App Store.
  • Downloads, installs, and configures software extensions.

Requirements

  1. macOS (with latest software updates applied)
  2. Xcode (with accepted license agreement)

Setup

Open a terminal window and execute one of the following setup sequences depending on your version preference:

Current Version (stable):

git clone https://github.com/bkuhlmann/mac_os.git
cd mac_os
git checkout v1.0.0

Master Version (unstable):

git clone https://github.com/bkuhlmann/mac_os.git
cd mac_os

Usage

Run the following script:

bin/run

You will be presented with the following options:

Boot:
  B:  Create boot disk.
Install:
  b:  Apply basic system settings.
  t:  Install development tools.
  h:  Install Homebrew software.
  a:  Install application software.
  x:  Install application software extensions.
  d:  Apply software defaults.
  s:  Setup installed software.
  i:  Install everything (i.e. executes all install options).
Restore:
  R:  Restore settings from backup.
Manage:
  c:  Check status of managed software.
  C:  Caffeinate machine.
  ua: Uninstall application software.
  ux: Uninstall application software extension.
  ra: Reinstall application software.
  rx: Reinstall application software extension.
  w:  Clean work (temp) directory.
  q:  Quit/Exit.

Choose option i to run all install options or select a specific option to run a single option. Each option is designed to be re-run if necessary. This can also be handy for performing upgrades, re-running a missing/failed install, etc.

The option prompt can be skipped by passing the desired option directly to the run.sh script. For example, executing ./run.sh i will execute the complete software install process.

The machine should be rebooted after all install tasks have completed to ensure all settings have been loaded.

It is recommended that the mac_os project directory not be deleted and kept on the local machine in order to manage installed software and benefit from future upgrades.

Customization

Global settings can be configured via the following script:

  • lib/settings.sh

All script programs can be found in the bin folder:

  • bin/create_boot_disk = Creates macOS boot disk.
  • bin/install_dev_tools = Installs macOS development tools required by Homebrew.
  • bin/run - The main script and interface for macOS setup.

The lib folder provides foundational functions for installing, re-installing, and uninstalling software. Everything provided via the macOS Config project is built upon the functions found in the lib folder. See the macOS Config project for further details.

Versioning

Read Semantic Versioning for details. Briefly, it means:

  • Patch (x.y.Z) - Incremented for small, backwards compatible bug fixes.
  • Minor (x.Y.z) - Incremented for new, backwards compatible public API enhancements and/or bug fixes.
  • Major (X.y.z) - Incremented for any backwards incompatible public API changes.

Code of Conduct

Please note that this project is released with a CODE OF CONDUCT. By participating in this project you agree to abide by its terms.

Contributions

Read CONTRIBUTING for details.

License

Copyright (c) 2016 Alchemists. Read the LICENSE for details.

History

Read the CHANGELOG for details. Built with Bashsmith.

Credits

Developed by Brooke Kuhlmann at Alchemists.

Description
Shell scripts for automated macOS machine setup.
Readme 4.1 MiB
Languages
HTML 54.2%
Shell 45%
Ruby 0.8%