Compare commits
25 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
68c1ea0515 | ||
|
|
419fceba0c | ||
|
|
9fba750712 | ||
|
|
de9e9dc73e | ||
|
|
0f13af9692 | ||
|
|
7133361277 | ||
|
|
bc01beac6a | ||
|
|
18ff862a4a | ||
|
|
c6ef97a88b | ||
|
|
67a17a0113 | ||
|
|
e5f2051412 | ||
|
|
bbdedb1a56 | ||
|
|
cd595f1bd1 | ||
|
|
e89a05fcbf | ||
|
|
048908f2ba | ||
|
|
cc23f2d634 | ||
|
|
4d85b3353f | ||
|
|
a757ed1210 | ||
|
|
2994653972 | ||
|
|
6716e687d1 | ||
|
|
18dccd7773 | ||
|
|
88494e2ed3 | ||
|
|
87e84a658f | ||
|
|
949a6b9d1e | ||
|
|
3b6137ec36 |
15
.github/ISSUE_TEMPLATE.md
vendored
15
.github/ISSUE_TEMPLATE.md
vendored
@@ -1,16 +1,11 @@
|
||||
## Expected Behavior
|
||||
<!-- Required. Describe, in detail, the behavior experienced. -->
|
||||
|
||||
## Actual Behavior
|
||||
<!-- Required. Describe, in detail, what should be the correct behavior. -->
|
||||
## Overview
|
||||
<!-- Required. Describe, in detail, the behavior experienced and what is desired. -->
|
||||
|
||||
## Steps to Recreate
|
||||
<!-- Required. List the exact steps to the reproduce errant behavior. -->
|
||||
<!-- Optional. List exact steps (numbered list) to reproduce errant behavior. Delete if unused. -->
|
||||
|
||||
0.
|
||||
## Screenshots/Screencasts
|
||||
<!-- Optional. Attach screenshot/screencast(s) that demo the behavior. Delete if unused. -->
|
||||
|
||||
## Environment
|
||||
<!-- Optional. What is your operating system, software version(s), etc. Delete if unused. -->
|
||||
|
||||
## Screenshots/Screencasts
|
||||
<!-- Optional. Attach screenshots/screencasts that demo the behavior. Delete if unused. -->
|
||||
|
||||
4
.github/PULL_REQUEST_TEMPLATE.md
vendored
4
.github/PULL_REQUEST_TEMPLATE.md
vendored
@@ -2,10 +2,10 @@
|
||||
<!-- Required. Why is this important/necessary? -->
|
||||
|
||||
## Details
|
||||
<!-- Optional. List the key features/highlights as bullet points. -->
|
||||
<!-- Optional. List the key features/highlights as bullet points. Delete if unused. -->
|
||||
|
||||
## Notes
|
||||
<!-- Optional. List additional notes/references as bullet points. Delete if unused. -->
|
||||
|
||||
## Screenshots/Screencasts
|
||||
<!-- Optional. Provide image/video support. Delete if unused. -->
|
||||
<!-- Optional. Provide supporting image/video. Delete if unused. -->
|
||||
|
||||
1
.ruby-version
Normal file
1
.ruby-version
Normal file
@@ -0,0 +1 @@
|
||||
2.4.2
|
||||
30
CHANGES.md
30
CHANGES.md
@@ -1,3 +1,33 @@
|
||||
# v3.1.0 (2017-11-26)
|
||||
|
||||
- Updated Gemfile.lock file.
|
||||
- Updated boot disk documenation to mention APFS.
|
||||
- Updated to Bundler 1.16.0.
|
||||
- Updated to Git Cop 1.7.0.
|
||||
- Updated to Rake 12.3.0.
|
||||
- Updated to Rubocop 0.51.0.
|
||||
|
||||
# v3.0.0 (2017-10-01)
|
||||
|
||||
- Fixed table of contents.
|
||||
- Updated boot disk creation to use macOS High Sierra.
|
||||
- Updated gem dependencies.
|
||||
- Updated to Git Cop 1.6.0.
|
||||
- Updated to Ruby 2.4.2.
|
||||
|
||||
# v2.2.0 (2017-07-16)
|
||||
|
||||
- Added Git Cop support.
|
||||
- Updated CONTRIBUTING documentation.
|
||||
- Updated GitHub templates.
|
||||
- Updated README headers.
|
||||
- Updated gem dependencies.
|
||||
|
||||
# v2.1.0 (2017-04-29)
|
||||
|
||||
- Fixed Java SE Development Kit install.
|
||||
- Fixed install-all command
|
||||
|
||||
# v2.0.0 (2017-04-09)
|
||||
|
||||
- Added Homebrew Casks install script.
|
||||
|
||||
@@ -1,27 +1,22 @@
|
||||
# Overview
|
||||
# Contributing
|
||||
|
||||
Thanks for taking an interest in this open source project. Your support and involvement is greatly
|
||||
appreciated. The following details what you need to know in order to contribute.
|
||||
appreciated. The following sections detail what you need to know in order to contribute.
|
||||
|
||||
# Requirements
|
||||
|
||||
Read through the [Programming Style
|
||||
Guides](https://github.com/bkuhlmann/style_guides/tree/master/programming).
|
||||
|
||||
# Contributing Code
|
||||
## Code
|
||||
|
||||
0. Read the project README before starting.
|
||||
0. Fork the `master` branch of the repository.
|
||||
0. Ensure there are no setup, usage, and/or test issues (see README for details).
|
||||
0. Fork the `master` branch of this repository and clone the fork locally.
|
||||
0. Ensure there are no setup, usage, and/or test issues.
|
||||
0. Add tests for new functionality and ensure they pass.
|
||||
0. Submit a pull request and follow the instructions it provides.
|
||||
0. Submit a pull request, follow the instructions it provides, and ensure the build passes.
|
||||
|
||||
# Submitting Issues
|
||||
## Issues
|
||||
|
||||
0. Submit an issue via the GitHub Issues tab (assuming one does not already exist).
|
||||
0. Follow the instructions provided within the GitHub issue template.
|
||||
0. Submit an issue via the GitHub Issues tab (assuming one does not
|
||||
already exist) and follow the instructions it provides.
|
||||
|
||||
# Feedback
|
||||
## Feedback
|
||||
|
||||
Expect a response within one to three business days.
|
||||
Changes, alternatives, and/or improvements might be suggested upon review.
|
||||
- Expect a response within one to three business days.
|
||||
- Changes, alternatives, and/or improvements might be suggested upon review.
|
||||
|
||||
6
Gemfile
Normal file
6
Gemfile
Normal file
@@ -0,0 +1,6 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
source "https://rubygems.org"
|
||||
|
||||
gem "rake", "~> 12.0"
|
||||
gem "git-cop", "~> 1.7"
|
||||
28
Gemfile.lock
Normal file
28
Gemfile.lock
Normal file
@@ -0,0 +1,28 @@
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
equatable (0.5.0)
|
||||
git-cop (1.7.1)
|
||||
pastel (~> 0.7)
|
||||
refinements (~> 4.2)
|
||||
runcom (~> 1.3)
|
||||
thor (~> 0.20)
|
||||
pastel (0.7.2)
|
||||
equatable (~> 0.5.0)
|
||||
tty-color (~> 0.4.0)
|
||||
rake (12.3.0)
|
||||
refinements (4.3.0)
|
||||
runcom (1.4.0)
|
||||
refinements (~> 4.2)
|
||||
thor (0.20.0)
|
||||
tty-color (0.4.2)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
|
||||
DEPENDENCIES
|
||||
git-cop (~> 1.7)
|
||||
rake (~> 12.0)
|
||||
|
||||
BUNDLED WITH
|
||||
1.16.0
|
||||
55
README.md
55
README.md
@@ -1,5 +1,6 @@
|
||||
# macOS
|
||||
|
||||
[](https://circleci.com/gh/bkuhlmann/mac_os)
|
||||
[](https://www.patreon.com/bkuhlmann)
|
||||
|
||||
Shell scripts for automated macOS machine setup.
|
||||
@@ -19,24 +20,24 @@ the two projects are meant to be used:
|
||||
|
||||
<!-- Tocer[start]: Auto-generated, don't remove. -->
|
||||
|
||||
# Table of Contents
|
||||
## Table of Contents
|
||||
|
||||
- [Features](#features)
|
||||
- [Screencast](#screencast)
|
||||
- [Requirements](#requirements)
|
||||
- [Setup](#setup)
|
||||
- [Usage](#usage)
|
||||
- [Customization](#customization)
|
||||
- [Versioning](#versioning)
|
||||
- [Code of Conduct](#code-of-conduct)
|
||||
- [Contributions](#contributions)
|
||||
- [License](#license)
|
||||
- [History](#history)
|
||||
- [Credits](#credits)
|
||||
- [Features](#features)
|
||||
- [Screencast](#screencast)
|
||||
- [Requirements](#requirements)
|
||||
- [Setup](#setup)
|
||||
- [Usage](#usage)
|
||||
- [Customization](#customization)
|
||||
- [Versioning](#versioning)
|
||||
- [Code of Conduct](#code-of-conduct)
|
||||
- [Contributions](#contributions)
|
||||
- [License](#license)
|
||||
- [History](#history)
|
||||
- [Credits](#credits)
|
||||
|
||||
<!-- Tocer[finish]: Auto-generated, don't remove. -->
|
||||
|
||||
# Features
|
||||
## Features
|
||||
|
||||
- Provides a command line interface, written in Bash with no additional dependencies, for
|
||||
installation and management of a macOS machine.
|
||||
@@ -55,16 +56,16 @@ the two projects are meant to be used:
|
||||
- Sets up and configures installed software for use.
|
||||
- Supports restoration of machine backups.
|
||||
|
||||
# Screencast
|
||||
## Screencast
|
||||
|
||||
[](https://asciinema.org/a/88971)
|
||||
|
||||
# Requirements
|
||||
## Requirements
|
||||
|
||||
0. [macOS Sierra](https://www.apple.com/macos) (with latest software updates applied)
|
||||
0. [macOS High Sierra](https://www.apple.com/macos) (with latest software updates applied)
|
||||
0. [Xcode](https://developer.apple.com/xcode) (with accepted license agreement)
|
||||
|
||||
# Setup
|
||||
## Setup
|
||||
|
||||
Open a terminal window and execute one of the following setup sequences depending on your version
|
||||
preference:
|
||||
@@ -73,14 +74,14 @@ Current Version (stable):
|
||||
|
||||
git clone https://github.com/bkuhlmann/mac_os.git
|
||||
cd mac_os
|
||||
git checkout v2.0.0
|
||||
git checkout v3.1.0
|
||||
|
||||
Master Version (unstable):
|
||||
|
||||
git clone https://github.com/bkuhlmann/mac_os.git
|
||||
cd mac_os
|
||||
|
||||
# Usage
|
||||
## Usage
|
||||
|
||||
Run the following script:
|
||||
|
||||
@@ -126,7 +127,7 @@ 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
|
||||
### Customization
|
||||
|
||||
All executable scripts can be found in the `bin` folder:
|
||||
|
||||
@@ -157,7 +158,7 @@ project is built upon the functions found in the `lib` folder. See the
|
||||
|
||||
- `lib/settings.sh`: Defines global settings for software applications, extensions, etc.
|
||||
|
||||
# Versioning
|
||||
## Versioning
|
||||
|
||||
Read [Semantic Versioning](http://semver.org) for details. Briefly, it means:
|
||||
|
||||
@@ -165,26 +166,26 @@ Read [Semantic Versioning](http://semver.org) for details. Briefly, it means:
|
||||
- Minor (x.Y.z) - Incremented for new, backwards compatible, public API enhancements/fixes.
|
||||
- Patch (x.y.Z) - Incremented for small, backwards compatible, bug fixes.
|
||||
|
||||
# Code of Conduct
|
||||
## Code of Conduct
|
||||
|
||||
Please note that this project is released with a [CODE OF CONDUCT](CODE_OF_CONDUCT.md). By
|
||||
participating in this project you agree to abide by its terms.
|
||||
|
||||
# Contributions
|
||||
## Contributions
|
||||
|
||||
Read [CONTRIBUTING](CONTRIBUTING.md) for details.
|
||||
|
||||
# License
|
||||
## License
|
||||
|
||||
Copyright (c) 2016 [Alchemists](https://www.alchemists.io).
|
||||
Read [LICENSE](LICENSE.md) for details.
|
||||
|
||||
# History
|
||||
## History
|
||||
|
||||
Read [CHANGES](CHANGES.md) for details.
|
||||
Built with [Bashsmith](https://github.com/bkuhlmann/bashsmith).
|
||||
|
||||
# Credits
|
||||
## Credits
|
||||
|
||||
Developed by [Brooke Kuhlmann](https://www.alchemists.io) at
|
||||
[Alchemists](https://www.alchemists.io).
|
||||
|
||||
9
Rakefile
Normal file
9
Rakefile
Normal file
@@ -0,0 +1,9 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
begin
|
||||
require "git/cop/rake/setup"
|
||||
rescue LoadError => error
|
||||
puts error.message
|
||||
end
|
||||
|
||||
task default: :git_cop
|
||||
@@ -12,7 +12,7 @@ printf " 1. Insert the USB boot disk into the machine to be upgraded.\n"
|
||||
printf " 2. Reboot the machine.\n"
|
||||
printf " 3. Hold down the OPTION key before the Apple logo appears.\n"
|
||||
printf " 4. Select the USB boot disk from the menu.\n"
|
||||
printf " 5. Format the machine's internal drive using Disk Utility.\n"
|
||||
printf " 5. Format the machine's internal drive using Disk Utility (choose APFS).\n"
|
||||
printf " 6. Install the new operating system.\n"
|
||||
printf "\nmacOS Reinstall:\n"
|
||||
printf " 1. Click the Apple icon from the operating system main menu.\n"
|
||||
|
||||
@@ -6,11 +6,18 @@
|
||||
printf "Installing Xcode CLI tools...\n"
|
||||
xcode-select --install
|
||||
|
||||
read -p "Have you completed the Xcode CLI tools install (y/n)? " response
|
||||
if [[ "$response" != "y" ]]; then
|
||||
read -p "Have you completed the Xcode CLI tools install (y/n)? " xcode_response
|
||||
if [[ "$xcode_response" != "y" ]]; then
|
||||
printf "ERROR: Xcode CLI tools must be installed before proceeding.\n"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
printf "Installing Java...\n"
|
||||
install_java "$JAVA_URL" "$JAVA_VOLUME_NAME"
|
||||
printf "Installing $JAVA_LABEL...\n"
|
||||
printf "%s\n" "You must manually accept the license and download the $JAVA_LABEL: $JAVA_DOWNLOAD_URL."
|
||||
open $JAVA_DOWNLOAD_URL
|
||||
|
||||
read -p "Have you completed the $JAVA_LABEL install (y/n)? " java_response
|
||||
if [[ "$java_response" != "y" ]]; then
|
||||
printf "ERROR: $JAVA_LABEL must be installed before proceeding.\n"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
7
circle.yml
Normal file
7
circle.yml
Normal file
@@ -0,0 +1,7 @@
|
||||
dependencies:
|
||||
pre:
|
||||
- gem update --system
|
||||
- gem update bundler
|
||||
test:
|
||||
override:
|
||||
- bundle exec rake
|
||||
@@ -32,7 +32,8 @@ process_option() {
|
||||
caffeinate_machine
|
||||
bin/apply_basic_settings
|
||||
bin/install_dev_tools
|
||||
bin/install_homebrew
|
||||
bin/install_homebrew_formulas
|
||||
bin/install_homebrew_casks
|
||||
bin/install_app_store
|
||||
bin/install_applications
|
||||
bin/install_extensions
|
||||
|
||||
@@ -11,12 +11,12 @@ set -o pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
# Globals
|
||||
export MAC_OS_BOOT_DISK_CREATOR="/Applications/Install macOS Sierra.app/Contents/Resources/createinstallmedia"
|
||||
export MAC_OS_BOOT_DISK_CREATOR="/Applications/Install macOS High Sierra.app/Contents/Resources/createinstallmedia"
|
||||
export MAC_OS_BOOT_DISK_PATH="/Volumes/Untitled"
|
||||
export MAC_OS_INSTALLER_PATH="/Applications/Install macOS Sierra.app"
|
||||
export MAC_OS_INSTALLER_PATH="/Applications/Install macOS High Sierra.app"
|
||||
export MAC_OS_WORK_PATH=/tmp/downloads
|
||||
export MAC_OS_CONFIG_PATH="../mac_os-config"
|
||||
|
||||
# Java
|
||||
export JAVA_VOLUME_NAME="JDK 8 Update 101"
|
||||
export JAVA_URL="http://download.oracle.com/otn-pub/java/jdk/8u101-b13/jdk-8u101-macosx-x64.dmg"
|
||||
export JAVA_LABEL="Java SE Development Kit"
|
||||
export JAVA_DOWNLOAD_URL="http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html"
|
||||
|
||||
Reference in New Issue
Block a user