Compare commits
26 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bf9bed3fdf | ||
|
|
780c225c1f | ||
|
|
fb5f547e00 | ||
|
|
50bf6178b9 | ||
|
|
53bdca4fc9 | ||
|
|
005ea19d1c | ||
|
|
ecd5ed49a4 | ||
|
|
d9df365afb | ||
|
|
b176823378 | ||
|
|
5f7bd0d925 | ||
|
|
6f7e47cdeb | ||
|
|
4bb16b5b7c | ||
|
|
95297426aa | ||
|
|
494bd26be9 | ||
|
|
c85015f116 | ||
|
|
31a3d3be86 | ||
|
|
f76086bbf0 | ||
|
|
f4f803296e | ||
|
|
f393d8181f | ||
|
|
a7b479f716 | ||
|
|
4f37a67353 | ||
|
|
0c5e66b605 | ||
|
|
fd112d373e | ||
|
|
1da7437342 | ||
|
|
91df57a36b | ||
|
|
982663a9ee |
@@ -1 +1 @@
|
||||
3.3.0
|
||||
3.3.6
|
||||
|
||||
@@ -2,9 +2,9 @@ cff-version: 1.2.0
|
||||
message: Please use the following metadata when citing this project in your work.
|
||||
title: macOS
|
||||
abstract: Shell scripts for automated macOS machine setup.
|
||||
version: 18.1.0
|
||||
version: 19.0.1
|
||||
license: Hippocratic-2.1
|
||||
date-released: 2024-02-25
|
||||
date-released: 2024-11-05
|
||||
authors:
|
||||
- family-names: Kuhlmann
|
||||
given-names: Brooke
|
||||
@@ -17,5 +17,6 @@ keywords:
|
||||
- automation
|
||||
- setup
|
||||
- recovery
|
||||
repository-code: https://alchemists.io/projects/mac_os
|
||||
repository-code: https://github.com/bkuhlmann/mac_os
|
||||
repository-artifact: https://alchemists.io/projects/mac_os
|
||||
url: https://alchemists.io/projects/mac_os
|
||||
|
||||
6
Gemfile
6
Gemfile
@@ -4,7 +4,7 @@ ruby file: ".ruby-version"
|
||||
|
||||
source "https://rubygems.org"
|
||||
|
||||
gem "caliber", "~> 0.50"
|
||||
gem "caliber", "~> 0.58"
|
||||
gem "debug", "~> 1.9"
|
||||
gem "git-lint", "~> 7.0"
|
||||
gem "rake", "~> 13.1"
|
||||
gem "git-lint", "~> 8.0"
|
||||
gem "rake", "~> 13.2"
|
||||
|
||||
36
README.adoc
36
README.adoc
@@ -2,6 +2,8 @@
|
||||
:toclevels: 5
|
||||
:figure-caption!:
|
||||
|
||||
:mac_os_defaults_link: link:https://macos-defaults.com[macOS Defaults]
|
||||
|
||||
= macOS
|
||||
|
||||
Shell scripts for automated macOS machine setup.
|
||||
@@ -34,18 +36,13 @@ toc::[]
|
||||
* Installs link:https://nodejs.org[Node] link:https://www.npmjs.com[packages].
|
||||
* Installs link:https://www.ruby-lang.org[Ruby] link:https://rubygems.org[gems].
|
||||
* Installs link:https://www.rust-lang.org[Rust] link:https://crates.io[crates].
|
||||
* Applies basic default software settings.
|
||||
* Applies {mac_os_defaults_link}.
|
||||
* Configures installed software.
|
||||
* Supports restoration of machine backups.
|
||||
|
||||
== Screencast
|
||||
|
||||
[link=https://alchemists.io/screencasts/mac_os]
|
||||
image::https://alchemists.io/images/screencasts/mac_os/cover.svg[Screencast,600,240,role=focal_point]
|
||||
|
||||
== Requirements
|
||||
|
||||
. link:https://www.apple.com/macos/sonoma[macOS Sonoma]
|
||||
. link:https://www.apple.com/macos/macos-sequoia[macOS 15.0.0 (Sequoia)]
|
||||
. link:https://developer.apple.com/xcode[Xcode]
|
||||
|
||||
== Setup
|
||||
@@ -56,7 +53,7 @@ To install, run:
|
||||
----
|
||||
git clone https://github.com/bkuhlmann/mac_os.git
|
||||
cd mac_os
|
||||
git checkout 18.1.0
|
||||
git checkout 19.0.1
|
||||
----
|
||||
|
||||
== Usage
|
||||
@@ -121,23 +118,25 @@ When attempting to create a boot disk via `bin/run B`, you’ll be presented wit
|
||||
documentation (provided here for reference):
|
||||
|
||||
....
|
||||
macOS Boot Disk Tips
|
||||
- Use a USB drive (8GB or higher).
|
||||
- Use Disk Utility to format the USB drive as "Mac OS Extended (Journaled)".
|
||||
- Use Disk Utility to label the USB drive as "Untitled".
|
||||
macOS Boot Disk Setup
|
||||
1. Insert a USB drive (8GB or higher).
|
||||
2. Use Disk Utility to format as "Mac OS Extended (Journaled)".
|
||||
3. Use Disk Utility to set the schema, if available, as "GUID Partition Map".
|
||||
4. Use Disk Utility to label as "Untitled".
|
||||
5. Run this script to install the OS and create a bootable USB drive.
|
||||
|
||||
macOS Boot Disk Usage:
|
||||
1. Insert the USB boot disk into the machine to be upgraded.
|
||||
1. Insert the USB drive, created above, into the machine to be upgraded.
|
||||
2. Reboot the machine.
|
||||
3. Hold the POWER (Silicon) or OPTION (Intel) key before the Apple logo appears.
|
||||
3. Press and hold the POWER key before the Apple logo appears.
|
||||
4. Select the USB boot disk from the menu.
|
||||
5. Use Disk Utility to delete and/or erase the hard drive including associated partitions.
|
||||
6. Use Disk Utility to create a single "APFS" drive as a "GUID Partition Table".
|
||||
6. Use Disk Utility to create a single "APFS" drive.
|
||||
7. Install the new operating system.
|
||||
|
||||
macOS Boot Disk Recovery:
|
||||
1. Start/restart the machine.
|
||||
2. Hold the POWER (Silicon) or COMMAND+R (Intel) keys before the Apple logo appears.
|
||||
2. Press and hold the POWER key before the Apple logo appears.
|
||||
3. Wait for the macOS installer to load from the recovery partition.
|
||||
4. Use the dialog options to launch Disk Utility, reinstall the system, etc.
|
||||
....
|
||||
@@ -148,8 +147,7 @@ All executable scripts can be found in the `bin` folder:
|
||||
|
||||
* `bin/apply_basic_settings` (optional, customizable): Applies basic and initial settings for
|
||||
setting up a machine.
|
||||
* `bin/apply_default_settings` (optional, customizable): Applies bare minimum system and application
|
||||
defaults.
|
||||
* `bin/apply_default_settings` (optional, customizable): Applies {mac_os_defaults_link}.
|
||||
* `bin/configure_software` (optional, customizable): Configures installed software as part of the
|
||||
post install process.
|
||||
* `bin/create_boot_disk` (optional): Creates a macOS boot disk.
|
||||
@@ -224,6 +222,8 @@ cd mac_os
|
||||
|
||||
== link:https://alchemists.io/policies/contributions[Contributions]
|
||||
|
||||
== link:https://alchemists.io/policies/developer_certificate_of_origin[Developer Certificate of Origin]
|
||||
|
||||
== link:https://alchemists.io/projects/mac_os/versions[Versions]
|
||||
|
||||
== link:https://alchemists.io/community[Community]
|
||||
|
||||
@@ -1,5 +1,48 @@
|
||||
= Versions
|
||||
|
||||
== 19.0.1 (2024-11-05)
|
||||
|
||||
* 🟢 Added macOS Defaults documentation link - Brooke Kuhlmann
|
||||
* 🔼 Updated to Ruby 3.3.6 - Brooke Kuhlmann
|
||||
|
||||
== 19.0.0 (2024-09-19)
|
||||
|
||||
* 🟢 Added version release notes - Brooke Kuhlmann
|
||||
* 🔼 Updated install root to use XDG binary path - Brooke Kuhlmann
|
||||
* 🔼 Updated to macOS 15.0.0 (Sequoia) - Brooke Kuhlmann
|
||||
|
||||
== 18.3.2 (2024-09-03)
|
||||
|
||||
* 🟢 Added README Developer Certificate of Origin documentation - Brooke Kuhlmann
|
||||
* 🔼 Updated to Ruby 3.3.5 - Brooke Kuhlmann
|
||||
|
||||
== 18.3.1 (2024-08-17)
|
||||
|
||||
* 🔼 Updated to Ruby 3.3.4 - Brooke Kuhlmann
|
||||
|
||||
== 18.3.0 (2024-07-08)
|
||||
|
||||
* 🔼 Updated to Caliber 0.58.0 - Brooke Kuhlmann
|
||||
* 🔼 Updated to Git Lint 8.0.0 - Brooke Kuhlmann
|
||||
* 🔼 Updated to Ruby 3.3.3 - Brooke Kuhlmann
|
||||
|
||||
== 18.2.2 (2024-06-01)
|
||||
|
||||
* 🔼 Updated citation URLs - Brooke Kuhlmann
|
||||
* 🔼 Updated to Ruby 3.3.2 - Brooke Kuhlmann
|
||||
|
||||
== 18.2.1 (2024-05-02)
|
||||
|
||||
* 🔼 Updated to Ruby 3.3.1 - Brooke Kuhlmann
|
||||
|
||||
== 18.2.0 (2024-04-21)
|
||||
|
||||
* 🔼 Updated RuboCop to use XDG local configuration - Brooke Kuhlmann
|
||||
* 🔼 Updated to Caliber 0.51.0 - Brooke Kuhlmann
|
||||
* 🔼 Updated to Git Lint 7.1.0 - Brooke Kuhlmann
|
||||
* 🔼 Updated to Git Lint 7.3.0 - Brooke Kuhlmann
|
||||
* 🔼 Updated to Rake 13.2.0 - Brooke Kuhlmann
|
||||
|
||||
== 18.1.0 (2024-02-25)
|
||||
|
||||
* 🔼 Updated to Caliber 0.50.0 - Brooke Kuhlmann
|
||||
|
||||
@@ -2,14 +2,16 @@
|
||||
|
||||
# Creates macOS boot disk.
|
||||
|
||||
printf "%s\n" "macOS Boot Disk Tips"
|
||||
printf "%s\n" " - Use a USB drive (8GB or higher)."
|
||||
printf "%s\n" " - Use Disk Utility to format the USB drive as \"APSF\"."
|
||||
printf "%s\n" " - Use Disk Utility to label the USB drive as \"Untitled\"."
|
||||
printf "%s\n" "macOS Boot Disk Setup"
|
||||
printf "%s\n" " 1. Insert a USB drive (8GB or higher)."
|
||||
printf "%s\n" " 2. Use Disk Utility to format as \"Mac OS Extended (Journaled)\"."
|
||||
printf "%s\n" " 3. Use Disk Utility to set the schema, if available, as \"GUID Partition Map\"."
|
||||
printf "%s\n" " 4. Use Disk Utility to label as \"Untitled\"."
|
||||
printf "%s\n" " 5. Run this script to install the OS and create a bootable USB drive."
|
||||
printf "\n%s\n" "macOS Boot Disk Usage:"
|
||||
printf "%s\n" " 1. Insert the USB boot disk into the machine to be upgraded."
|
||||
printf "%s\n" " 1. Insert the USB drive, created above, into the machine to be upgraded."
|
||||
printf "%s\n" " 2. Reboot the machine."
|
||||
printf "%s\n" " 3. Press and hold the POWER key before the Apple logssssso appears."
|
||||
printf "%s\n" " 3. Press and hold the POWER key before the Apple logo appears."
|
||||
printf "%s\n" " 4. Select the USB boot disk from the menu."
|
||||
printf "%s\n" " 5. Use Disk Utility to delete and/or erase the hard drive including associated partitions."
|
||||
printf "%s\n" " 6. Use Disk Utility to create a single \"APFS\" drive."
|
||||
|
||||
@@ -216,12 +216,15 @@ export -f install_pkg
|
||||
install_program() {
|
||||
local url="$1"
|
||||
local program_name="$2"
|
||||
local install_root=""
|
||||
local install_path=""
|
||||
|
||||
install_root=$(get_install_root "$program_name")
|
||||
install_path=$(get_install_path "$program_name")
|
||||
|
||||
if [[ ! -e "$install_path" ]]; then
|
||||
download_file "$url" "$program_name"
|
||||
mkdir -p "$install_root"
|
||||
mv "$MAC_OS_WORK_PATH/$program_name" "$install_path"
|
||||
chmod 755 "$install_path"
|
||||
printf "%s\n" "Installed: $program_name."
|
||||
|
||||
@@ -5,7 +5,7 @@ set -o errexit
|
||||
set -o pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
export MAC_OS_BOOT_DISK_CREATOR="/Applications/Install macOS Sonoma.app/Contents/Resources/createinstallmedia"
|
||||
export MAC_OS_BOOT_DISK_CREATOR="/Applications/Install macOS Sequoia.app/Contents/Resources/createinstallmedia"
|
||||
export MAC_OS_BOOT_DISK_PATH="/Volumes/Untitled"
|
||||
export MAC_OS_WORK_PATH=/tmp/downloads
|
||||
export MAC_OS_CONFIG_PATH="../mac_os-config"
|
||||
|
||||
@@ -89,7 +89,7 @@ get_install_root() {
|
||||
|
||||
case $(get_extension "$file_name") in
|
||||
'')
|
||||
printf "/usr/local/bin";;
|
||||
printf "%s" "$HOME/.local/bin";;
|
||||
'app')
|
||||
printf "/Applications";;
|
||||
'prefPane')
|
||||
|
||||
Reference in New Issue
Block a user