Compare commits

..

14 Commits

Author SHA1 Message Date
Brooke Kuhlmann
33fe1c7003 Added version release notes 2023-09-28 19:49:27 -06:00
Brooke Kuhlmann
605b1e4c3f Updated to macOS Sonoma
Necessary to install and make use of the latest Apple Operating System.

Milestone: major
2023-09-28 19:42:25 -06:00
Brooke Kuhlmann
2170941383 Added Debug gem
Necessary for debugging purposes but also for running global health scripts across all projects (including this one).
2023-06-22 09:49:02 -06:00
Brooke Kuhlmann
63ef52185b Added version release notes 2023-06-19 16:59:56 -06:00
Brooke Kuhlmann
74da03bc07 Updated to Caliber 0.35.0
[Caliber](https://alchemists.io/projects/caliber/versions).
2023-06-16 14:58:38 -06:00
Brooke Kuhlmann
ada1b73c13 Updated to Git Lint 6.0.0
[Details](https://alchemists.io/projects/git-lint/versions).
2023-06-16 13:06:42 -06:00
Brooke Kuhlmann
d196d18641 Updated to Refinements 11.0.0
[Details](https://alchemists.io/projects/refinements/versions).
2023-06-13 10:00:14 -06:00
Brooke Kuhlmann
a360bf535a Added version release notes 2023-05-18 08:22:37 -05:00
Brooke Kuhlmann
f5c6b6d40e Updated to Caliber 0.30.0
[Details](https://alchemists.io/projects/caliber/versions).
2023-04-12 06:40:26 -06:00
Brooke Kuhlmann
bd3caab3fc Added version release notes 2023-04-02 10:50:32 -06:00
Brooke Kuhlmann
2f0fa77831 Fixed programs without extensions to install to user directory
Necessary to ensure the Homebrew directory remains clean and is *only* managed by Homebrew. All other programs are downloaded straight from the provider and placed in the `/usr/local/bin` instead.
2023-03-30 14:50:26 -06:00
Brooke Kuhlmann
017f79442b Updated to Ruby 3.2.2
[Details](https://www.ruby-lang.org/en/news/2023/03/30/ruby-3-2-2-released).
2023-03-30 14:50:20 -06:00
Brooke Kuhlmann
cf648adae7 Updated site URLs to use bare domain
Necessary to point to `https://alchemists.io` instead of `https://www.alchemists.io` for short URL convenience. Both URLs work but use of `https://alchemists.io` is now preferred.
2023-02-19 11:22:36 -07:00
Brooke Kuhlmann
af7aa4d0d0 Updated to Ruby 3.2.1
[Details](https://www.ruby-lang.org/en/news/2023/02/08/ruby-3-2-1-released).
2023-02-08 12:29:22 -07:00
7 changed files with 49 additions and 34 deletions

View File

@@ -1 +1 @@
3.2.0 3.2.2

View File

@@ -1,10 +1,10 @@
cff-version: 1.2.0 cff-version: 1.2.0
message: Please use the following metadata when citing this project in your work. message: Please use the following metadata when citing this project in your work.
title: macOS title: macOS
abstract: Provides a shell based framework for automating the setup of a macOS machine. abstract: Shell scripts for automated macOS machine setup.
version: 16.0.1 version: 17.0.0
license: Hippocratic-2.1 license: Hippocratic-2.1
date-released: 2023-02-05 date-released: 2023-09-28
authors: authors:
- family-names: Kuhlmann - family-names: Kuhlmann
given-names: Brooke given-names: Brooke
@@ -17,5 +17,5 @@ keywords:
- automation - automation
- setup - setup
- recovery - recovery
repository-code: https://www.alchemists.io/projects/mac_os repository-code: https://alchemists.io/projects/mac_os
repository-artifact: https://www.alchemists.io/projects/mac_os repository-artifact: https://alchemists.io/projects/mac_os

View File

@@ -4,6 +4,7 @@ ruby File.read(".ruby-version").strip
source "https://rubygems.org" source "https://rubygems.org"
gem "caliber", "~> 0.25" gem "caliber", "~> 0.35"
gem "git-lint", "~> 5.0" gem "debug", "~> 1.8"
gem "git-lint", "~> 6.0"
gem "rake", "~> 13.0" gem "rake", "~> 13.0"

View File

@@ -8,13 +8,13 @@ Shell scripts for automated macOS machine setup.
This project is a framework for automating the setup of a macOS machine. In order to illustrate the This project is a framework for automating the setup of a macOS machine. In order to illustrate the
potential of what this project can do, please see the companion potential of what this project can do, please see the companion
link:https://www.alchemists.io/projects/mac_os-config[macOS Config] project for details. The _macOS link:https://alchemists.io/projects/mac_os-config[macOS Config] project for details. The _macOS
Config_ project is an opinionated configuration which meets the needs of my development environment Config_ project is an opinionated configuration which meets the needs of my development environment
but is also meant to serve as an example and guide for building your own personalized setup. Here is but is also meant to serve as an example and guide for building your own personalized setup. Here is
how the two projects are meant to be used: how the two projects are meant to be used:
* *macOS* (this project) - The foundational framework for building custom macOS machine setups. * *macOS* (this project) - The foundational framework for building custom macOS machine setups.
* *link:https://www.alchemists.io/projects/mac_os-config[macOS Configuration]* - The layer on top of * *link:https://alchemists.io/projects/mac_os-config[macOS Configuration]* - The layer on top of
this _macOS_ project which defines a custom machine implementation. The project is meant to be this _macOS_ project which defines a custom machine implementation. The project is meant to be
forked for as many custom machine setups as needed. forked for as many custom machine setups as needed.
@@ -40,12 +40,12 @@ toc::[]
== Screencast == Screencast
[link=https://www.alchemists.io/screencasts/mac_os] [link=https://alchemists.io/screencasts/mac_os]
image::https://www.alchemists.io/images/screencasts/mac_os/cover.svg[Screencast,600,240,role=focal_point] image::https://alchemists.io/images/screencasts/mac_os/cover.svg[Screencast,600,240,role=focal_point]
== Requirements == Requirements
. link:https://www.apple.com/macos/ventura[macOS Ventura] . link:https://www.apple.com/macos/sonoma[macOS Sonoma]
. link:https://developer.apple.com/xcode[Xcode] . link:https://developer.apple.com/xcode[Xcode]
== Setup == Setup
@@ -56,7 +56,7 @@ To install, run:
---- ----
git clone https://github.com/bkuhlmann/mac_os.git git clone https://github.com/bkuhlmann/mac_os.git
cd mac_os cd mac_os
git checkout 16.0.1 git checkout 17.0.0
---- ----
== Usage == Usage
@@ -172,9 +172,9 @@ All executable scripts can be found in the `bin` folder:
* `bin/run` (required): The main script and interface for macOS setup. * `bin/run` (required): The main script and interface for macOS setup.
The `lib` folder provides the base framework for installing, re-installing, and uninstalling The `lib` folder provides the base framework for installing, re-installing, and uninstalling
software. Everything provided via the link:https://www.alchemists.io/projects/mac_os-config[macOS software. Everything provided via the link:https://alchemists.io/projects/mac_os-config[macOS
Config] project is built upon the functions found in the `lib` folder. See the Config] project is built upon the functions found in the `lib` folder. See the
link:https://www.alchemists.io/projects/mac_os-config[macOS Config] project for further details. link:https://alchemists.io/projects/mac_os-config[macOS Config] project for further details.
* `lib/settings.sh`: Defines global settings for software applications, extensions, etc. * `lib/settings.sh`: Defines global settings for software applications, extensions, etc.
@@ -216,18 +216,18 @@ git clone https://github.com/bkuhlmann/mac_os.git
cd mac_os cd mac_os
---- ----
== link:https://www.alchemists.io/policies/license[License] == link:https://alchemists.io/policies/license[License]
== link:https://www.alchemists.io/policies/security[Security] == link:https://alchemists.io/policies/security[Security]
== link:https://www.alchemists.io/policies/code_of_conduct[Code of Conduct] == link:https://alchemists.io/policies/code_of_conduct[Code of Conduct]
== link:https://www.alchemists.io/policies/contributions[Contributions] == link:https://alchemists.io/policies/contributions[Contributions]
== link:https://www.alchemists.io/projects/mac_os/versions[Versions] == link:https://alchemists.io/projects/mac_os/versions[Versions]
== link:https://www.alchemists.io/community[Community] == link:https://alchemists.io/community[Community]
== Credits == Credits
Engineered by link:https://www.alchemists.io/team/brooke_kuhlmann[Brooke Kuhlmann]. Engineered by link:https://alchemists.io/team/brooke_kuhlmann[Brooke Kuhlmann].

View File

@@ -1,5 +1,27 @@
= Versions = Versions
== 17.0.0 (2023-09-28)
* Added Debug gem - Brooke Kuhlmann
* Updated to macOS Sonoma - Brooke Kuhlmann
== 16.0.4 (2023-06-19)
* Updated to Caliber 0.35.0 - Brooke Kuhlmann
* Updated to Git Lint 6.0.0 - Brooke Kuhlmann
* Updated to Refinements 11.0.0 - Brooke Kuhlmann
== 16.0.3 (2023-05-18)
* Updated to Caliber 0.30.0 - Brooke Kuhlmann
== 16.0.2 (2023-04-02)
* Fixed programs without extensions to install to user directory - Brooke Kuhlmann
* Updated site URLs to use bare domain - Brooke Kuhlmann
* Updated to Ruby 3.2.1 - Brooke Kuhlmann
* Updated to Ruby 3.2.2 - Brooke Kuhlmann
== 16.0.1 (2023-02-05) == 16.0.1 (2023-02-05)
* Added Rake binstub - Brooke Kuhlmann * Added Rake binstub - Brooke Kuhlmann

View File

@@ -5,7 +5,7 @@ set -o errexit
set -o pipefail set -o pipefail
IFS=$'\n\t' IFS=$'\n\t'
export MAC_OS_BOOT_DISK_CREATOR="/Applications/Install macOS Ventura.app/Contents/Resources/createinstallmedia" export MAC_OS_BOOT_DISK_CREATOR="/Applications/Install macOS Sonoma.app/Contents/Resources/createinstallmedia"
export MAC_OS_BOOT_DISK_PATH="/Volumes/Untitled" export MAC_OS_BOOT_DISK_PATH="/Volumes/Untitled"
export MAC_OS_WORK_PATH=/tmp/downloads export MAC_OS_WORK_PATH=/tmp/downloads
export MAC_OS_CONFIG_PATH="../mac_os-config" export MAC_OS_CONFIG_PATH="../mac_os-config"

View File

@@ -77,18 +77,10 @@ export -f get_install_path
# Parameters: $1 (required) - The file name. # Parameters: $1 (required) - The file name.
get_install_root() { get_install_root() {
local file_name="$1" local file_name="$1"
local file_extension=$(get_extension "$file_name")
# Special cases not supported by Homebrew. case $(get_extension "$file_name") in
if [[ "$file_name" == "elm" ]]; then
printf "/usr/local/bin"
return
fi
# Dynamically build the install path based on file extension.
case $file_extension in
'') '')
printf "$(get_homebrew_bin_root)";; printf "/usr/local/bin";;
'app') 'app')
printf "/Applications";; printf "/Applications";;
'prefPane') 'prefPane')