Compare commits

...

37 Commits

Author SHA1 Message Date
Brooke Kuhlmann
7a9bb00877 Added version release notes 2022-05-07 10:19:46 -06:00
Brooke Kuhlmann
2a01bac2b0 Updated to Caliber 0.8.0
Necessary to pick up latest RuboCop changes.
2022-05-07 09:01:36 -06:00
Brooke Kuhlmann
b2b4d49c52 Updated to Caliber 0.7.0
Necessary to pick up RuboCop 1.28.0 changes.
2022-04-21 16:43:02 -06:00
Brooke Kuhlmann
0945809dc4 Updated to Caliber 0.6.0
Necessary to pick up latest RuboCop RSpec enhancements and fixes.
2022-04-19 09:24:54 -06:00
Brooke Kuhlmann
b270852fb5 Added version release notes 2022-04-17 11:32:19 -06:00
Brooke Kuhlmann
4dc5f3d363 Updated to Ruby 3.1.2
[Details](https://www.ruby-lang.org).
2022-04-12 16:20:55 -06:00
Brooke Kuhlmann
6169e0566e Added GitHub sponsorship configuration
Necessary to promote the sponsorship of this project in hopes that
others might want to support and promote my work too. 🎉
2022-04-11 20:03:04 -06:00
Brooke Kuhlmann
1686b0c98f Updated to Git Lint 4.0.0
Necessary to pick up auto-inject implementation changes.
2022-04-10 07:58:31 -06:00
Brooke Kuhlmann
3aa3ea59e7 Updated to Caliber 0.5.0
Necessary to pick up RuboCop 1.27.0 changes -- which, unfortunately,
introduces a warning bug -- and reduce duplicate configurations which
are enabled by RuboCop now.
2022-04-09 11:04:55 -06:00
Brooke Kuhlmann
ae40574cd7 Updated to Caliber 0.4.0
[Details](https://www.alchemists.io/projects/caliber/versions).
2022-04-07 20:21:36 -06:00
Brooke Kuhlmann
5786fef97b Added version release notes 2022-03-16 19:47:57 -06:00
Brooke Kuhlmann
efa421db4e Fixed Homebrew install to initially default to ZSH
Ensures a smooth machine setup since macOS machines default to ZSH.
This can be switched to Bash once initial setup is complete.
2022-03-15 18:09:12 -06:00
Brooke Kuhlmann
fa820851a2 Added version release notes 2022-03-03 20:25:51 -07:00
Brooke Kuhlmann
772a0f5d81 Fixed Hippocratic License to be 2.1.0 version
Necessary due to it looking like
[SPDX](https://github.com/spdx/license-list-XML/issues/1393) might not
approve the 3.0.0 version. The 2.1.0 version will have to suffice as a
safe fallback which won't cause conflicts with downstream tooling.
2022-03-03 19:48:35 -07:00
Brooke Kuhlmann
8e50a38035 Updated default Rake task to include Git Lint and Rubocop
Necessary to run all code quality checks for the project by default.
2022-03-03 18:55:25 -07:00
Brooke Kuhlmann
253abf249d Added Caliber gem
Necessary to improve maintenance of project. Not much Ruby code is used
but having these checks in place -- even is only for gem dependencies
-- is nice.
2022-03-03 18:50:06 -07:00
Brooke Kuhlmann
9a8b9cda93 Updated to Ruby 3.1.1
[Details](https://www.ruby-lang.org).
2022-02-18 07:55:00 -07:00
Brooke Kuhlmann
93405894cd Updated to Git Lint 3.2.0 2022-02-12 15:40:10 -07:00
Brooke Kuhlmann
dad032168b Removed README badges
Necessary to remove duplicated effort by the Alchemists build process.
This also reduces individual project maintenance since all of this can
be handled by the build process.
2022-02-06 13:32:34 -07:00
Brooke Kuhlmann
73519549cd Added Ruby version to Gemfile
Necessary to be consistent with Rubysmith defaults.
2022-01-23 10:10:40 -07:00
Brooke Kuhlmann
e13c08288e Added version release notes 2022-01-01 11:04:56 -07:00
Brooke Kuhlmann
aefdd41772 Updated README policy section links
Necessary to point to the Alchemists site for all policy related
information in order to reduce the maintenance burden on this project.
2022-01-01 07:41:51 -07:00
Brooke Kuhlmann
3b551d5872 Updated changes as versions documentation
Necessary to clearly denote this is version-based release notes. These
will be further enhanced in the future. This is now consistent with
behavior provided by the Rubysmith and Gemsmith gems.
2022-01-01 07:21:17 -07:00
Brooke Kuhlmann
d50a890be9 Removed code of conduct and contributing files
Necessary to reduce maintenance burden by linking to them instead as
now hosted on the Alchemists site.
2022-01-01 07:02:38 -07:00
Brooke Kuhlmann
9c92316686 Updated to Git Lint 3.0.0
[Details](https://www.alchemists.io/projects/git-lint/changes.html).
2021-12-27 15:42:12 -07:00
Brooke Kuhlmann
aa72537f4f Added version release notes 2021-12-27 07:41:45 -07:00
Brooke Kuhlmann
446f33dd30 Updated to Ruby 3.1.0
[Details](https://www.ruby-lang.org).
2021-12-25 08:36:36 -07:00
Brooke Kuhlmann
68583f3dc0 Fixed Rubocop Bundler/OrderedGems issue 2021-12-24 11:44:08 -07:00
Brooke Kuhlmann
c7dc1abd24 Added README troubleshooting guide for SMC reset
This can, sometimes, be good for speeding up system performance.
2021-12-03 08:48:21 -07:00
Brooke Kuhlmann
4832f857a5 Updated GitHub issue template
Provides a minor reduction in steps necessary to file an issue by
capturing the important details in the overview so the rest of the
issue can focus on the details.
2021-11-24 09:05:37 -07:00
Brooke Kuhlmann
91075b7001 Updated to Ruby 3.0.3
Necessary to resolve several security vulnerabilities.

[Details](https://www.ruby-lang.org).
2021-11-24 08:23:19 -07:00
Brooke Kuhlmann
c7099baa63 Fixed Hippocratic license structure
Turns out the generated version of the license has a lot of bugs in it
in terms of formatting (especially the original Markdown version) and
code comments. This attempts to clean up the syntax so the document is
more readable.
2021-11-22 12:46:36 -07:00
Brooke Kuhlmann
860accf53f Fixed contributing documentation
Necessary to clarify and streamline the required steps. Most
importantly the `master` branch is no longer referenced since the
`main` branch is the default now.
2021-11-22 11:08:24 -07:00
Brooke Kuhlmann
f4292a0e7d Added project citation information
Necessary allow academics and researchers to reference this project.

[Documentation](https://citation-file-format.github.io).
2021-11-21 14:26:49 -07:00
Brooke Kuhlmann
49be191b7b Updated to Hippocratic License 3.0.0
Necessary to promote ethicial software engineering practices but also
align with the Alchemists' mission.

[Details](https://firstdonoharm.dev).
2021-11-21 12:23:33 -07:00
Brooke Kuhlmann
644ad6388b Fixed README changes and credits sections
Necessary to clarify the information housed in these sections.
2021-11-20 16:04:00 -07:00
Brooke Kuhlmann
892b8119c9 Added README community link
Necessary to provide a way for people to interact and discuss this
project more in depth if desired.
2021-11-04 20:35:17 -06:00
13 changed files with 247 additions and 337 deletions

1
.github/FUNDING.yml vendored Normal file
View File

@@ -0,0 +1 @@
github: [bkuhlmann]

View File

@@ -1,5 +1,5 @@
## Overview ## Overview
<!-- Required. Describe, briefly, the behavior experienced. --> <!-- Required. Describe, briefly, the behavior experienced and desired. -->
## Screenshots/Screencasts ## Screenshots/Screencasts
<!-- Optional. Attach screenshot(s) and/or screencast(s) that demo the behavior. --> <!-- Optional. Attach screenshot(s) and/or screencast(s) that demo the behavior. -->
@@ -7,8 +7,5 @@
## Steps to Recreate ## Steps to Recreate
<!-- Required. List exact steps (numbered list) to reproduce errant behavior. --> <!-- Required. List exact steps (numbered list) to reproduce errant behavior. -->
## Desired Behavior
<!-- Required. Describe the behavior you'd like to see or your idea of a proposed solution. -->
## Environment ## Environment
<!-- Required. What is your operating system, software version(s), etc. --> <!-- Required. What is your operating system, software version(s), etc. -->

2
.rubocop.yml Normal file
View File

@@ -0,0 +1,2 @@
inherit_gem:
caliber: config/all.yml

View File

@@ -1 +1 @@
3.0.2 3.1.2

21
CITATION.cff Normal file
View File

@@ -0,0 +1,21 @@
cff-version: 1.2.0
message: Please use the following metadata when citing this project in your work.
title: macOS
abstract: Provides a shell based framework for automating the setup of a macOS machine.
version: 15.0.5
license: Hippocratic-2.1
date-released: 2022-05-07
authors:
- family-names: Kuhlmann
given-names: Brooke
affiliation: Alchemists
orcid: https://orcid.org/0000-0002-5810-6268
keywords:
- bash
- shell
- scripts
- automation
- setup
- recovery
repository-code: https://www.alchemists.io/projects/mac_os
repository-artifact: https://www.alchemists.io/projects/mac_os

View File

@@ -1,113 +0,0 @@
= Contributor Covenant Code of Conduct
== Our Pledge
We as members, contributors, and leaders pledge to make participation in our community a
harassment-free experience for everyone, regardless of age, body size, visible or invisible
disability, ethnicity, sex characteristics, gender identity and expression, level of experience,
education, socio-economic status, nationality, personal appearance, race, religion, or sexual
identity and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and
healthy community.
== Our Standards
Examples of behavior that contributes to a positive environment for our community include:
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes, and learning from the
experience
* Focusing on what is best not just for us as individuals, but for the overall community
Examples of unacceptable behavior include:
* The use of sexualized language or imagery, and sexual attention or advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email address, without their
explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting
== Enforcement Responsibilities
Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior
and will take appropriate and fair corrective action in response to any behavior that they deem
inappropriate, threatening, offensive, or harmful.
Community leaders have the right and responsibility to remove, edit, or reject comments, commits,
code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and
will communicate reasons for moderation decisions when appropriate.
== Scope
This Code of Conduct applies within all community spaces, and also applies when an individual is
officially representing the community in public spaces. Examples of representing our community
include using an official e-mail address, posting via an official social media account, or acting as
an appointed representative at an online or offline event.
== Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community
leaders responsible for enforcement at link:mailto:brooke@alchemists.io?subject=Conduct[Brooke Kuhlmann].
All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the reporter of any
incident.
== Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining the consequences for
any action they deem in violation of this Code of Conduct:
=== 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed unprofessional or
unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing clarity around the
nature of the violation and an explanation of why the behavior was inappropriate. A public apology
may be requested.
=== 2. Warning
**Community Impact**: A violation through a single incident or series of actions.
**Consequence**: A warning with consequences for continued behavior. No interaction with the people
involved, including unsolicited interaction with those enforcing the Code of Conduct, for a
specified period of time. This includes avoiding interactions in community spaces as well as
external channels like social media. Violating these terms may lead to a temporary or permanent ban.
=== 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including sustained inappropriate
behavior.
**Consequence**: A temporary ban from any sort of interaction or public communication with the
community for a specified period of time. No public or private interaction with the people involved,
including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this
period. Violating these terms may lead to a permanent ban.
=== 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community standards, including
sustained inappropriate behavior, harassment of an individual, or aggression toward or
disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within the community.
== Attribution
This Code of Conduct is adapted from the
link:https://www.contributor-covenant.org/version/2/0/code_of_conduct.html[Contributor Covenant,
Version 2.0].
Community Impact Guidelines were inspired by link:https://github.com/mozilla/diversity[Mozilla's
code of conduct enforcement ladder].
For answers to common questions about this code of conduct, see the
link:https://www.contributor-covenant.org/faq[FAQ]. Translations are available
link:https://www.contributor-covenant.org/translations[here].

View File

@@ -1,22 +0,0 @@
= 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.
== Code
. Read the project link:README.adoc[README] before starting.
. Fork and clone the `master` branch of this repository locally.
. Ensure there are no setup, usage, and/or test issues.
. Add tests for new functionality and ensure they pass.
. Submit a pull request, follow the instructions provided, and ensure the build passes.
== Issues
Submit an issue via the GitHub Issues tab (assuming one does not already exist) and follow the
instructions provided.
== Feedback
* Expect a response within one to three business days.
* Changes, alternatives, and/or improvements may be suggested upon review.

View File

@@ -1,6 +1,9 @@
# frozen_string_literal: true # frozen_string_literal: true
ruby File.read(".ruby-version").strip
source "https://rubygems.org" source "https://rubygems.org"
gem "caliber", "~> 0.8"
gem "git-lint", "~> 4.0"
gem "rake", "~> 13.0" gem "rake", "~> 13.0"
gem "git-lint", "~> 2.0"

View File

@@ -1,162 +1,134 @@
= Apache License = Hippocratic License
Version 2.0, January 2004 Version: 2.1.0.
http://www.apache.org/licenses Purpose. The purpose of this License is for the Licensor named above to
permit the Licensee (as defined below) broad permission, if consistent
with Human Rights Laws and Human Rights Principles (as each is defined
below), to use and work with the Software (as defined below) within the
full scope of Licensors copyright and patent rights, if any, in the
Software, while ensuring attribution and protecting the Licensor from
liability.
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION Permission and Conditions. The Licensor grants permission by this
license ("License"), free of charge, to the extent of Licensors
rights under applicable copyright and patent law, to any person or
entity (the "Licensee") obtaining a copy of this software and
associated documentation files (the "Software"), to do everything with
the Software that would otherwise infringe (i) the Licensors copyright
in the Software or (ii) any patent claims to the Software that the
Licensor can license or becomes able to license, subject to all of the
following terms and conditions:
== 1. Definitions * Acceptance. This License is automatically offered to every person and
entity subject to its terms and conditions. Licensee accepts this
License and agrees to its terms and conditions by taking any action with
the Software that, absent this License, would infringe any intellectual
property right held by Licensor.
* Notice. Licensee must ensure that everyone who gets a copy of any part
of this Software from Licensee, with or without changes, also receives
the License and the above copyright notice (and if included by the
Licensor, patent, trademark and attribution notice). Licensee must cause
any modified versions of the Software to carry prominent notices stating
that Licensee changed the Software. For clarity, although Licensee is
free to create modifications of the Software and distribute only the
modified portion created by Licensee with additional or different terms,
the portion of the Software not modified must be distributed pursuant to
this License. If anyone notifies Licensee in writing that Licensee has
not complied with this Notice section, Licensee can keep this License by
taking all practical steps to comply within 30 days after the notice. If
Licensee does not do so, Licensees License (and all rights licensed
hereunder) shall end immediately.
* Compliance with Human Rights Principles and Human Rights Laws.
[arabic]
. Human Rights Principles.
[loweralpha]
.. Licensee is advised to consult the articles of the United Nations
Universal Declaration of Human Rights and the United Nations Global
Compact that define recognized principles of international human rights
(the "Human Rights Principles"). Licensee shall use the Software in a
manner consistent with Human Rights Principles.
.. Unless the Licensor and Licensee agree otherwise, any dispute,
controversy, or claim arising out of or relating to (i) Section 1(a)
regarding Human Rights Principles, including the breach of Section 1(a),
termination of this License for breach of the Human Rights Principles,
or invalidity of Section 1(a) or (ii) a determination of whether any Law
is consistent or in conflict with Human Rights Principles pursuant to
Section 2, below, shall be settled by arbitration in accordance with the
Hague Rules on Business and Human Rights Arbitration (the "Rules");
provided, however, that Licensee may elect not to participate in such
arbitration, in which event this License (and all rights licensed
hereunder) shall end immediately. The number of arbitrators shall be one
unless the Rules require otherwise.
+
Unless both the Licensor and Licensee agree to the contrary: (1) All
documents and information concerning the arbitration shall be public and
may be disclosed by any party; (2) The repository referred to under
Article 43 of the Rules shall make available to the public in a timely
manner all documents concerning the arbitration which are communicated
to it, including all submissions of the parties, all evidence admitted
into the record of the proceedings, all transcripts or other recordings
of hearings and all orders, decisions and awards of the arbitral
tribunal, subject only to the arbitral tribunals powers to take such
measures as may be necessary to safeguard the integrity of the arbitral
process pursuant to Articles 18, 33, 41 and 42 of the Rules; and (3)
Article 26(6) of the Rules shall not apply.
. Human Rights Laws. The Software shall not be used by any person or
entity for any systems, activities, or other uses that violate any Human
Rights Laws. "Human Rights Laws" means any applicable laws,
regulations, or rules (collectively, "Laws") that protect human,
civil, labor, privacy, political, environmental, security, economic, due
process, or similar rights; provided, however, that such Laws are
consistent and not in conflict with Human Rights Principles (a dispute
over the consistency or a conflict between Laws and Human Rights
Principles shall be determined by arbitration as stated above). Where
the Human Rights Laws of more than one jurisdiction are applicable or in
conflict with respect to the use of the Software, the Human Rights Laws
that are most protective of the individuals or groups harmed shall
apply.
. Indemnity. Licensee shall hold harmless and indemnify Licensor (and
any other contributor) against all losses, damages, liabilities,
deficiencies, claims, actions, judgments, settlements, interest, awards,
penalties, fines, costs, or expenses of whatever kind, including
Licensors reasonable attorneys fees, arising out of or relating to
Licensees use of the Software in violation of Human Rights Laws or
Human Rights Principles.
* Failure to Comply. Any failure of Licensee to act according to the
terms and conditions of this License is both a breach of the License and
an infringement of the intellectual property rights of the Licensor
(subject to exceptions under Laws, e.g., fair use). In the event of a
breach or infringement, the terms and conditions of this License may be
enforced by Licensor under the Laws of any jurisdiction to which
Licensee is subject. Licensee also agrees that the Licensor may enforce
the terms and conditions of this License against Licensee through
specific performance (or similar remedy under Laws) to the extent
permitted by Laws. For clarity, except in the event of a breach of this
License, infringement, or as otherwise stated in this License, Licensor
may not terminate this License with Licensee.
* Enforceability and Interpretation. If any term or provision of this
License is determined to be invalid, illegal, or unenforceable by a
court of competent jurisdiction, then such invalidity, illegality, or
unenforceability shall not affect any other term or provision of this
License or invalidate or render unenforceable such term or provision in
any other jurisdiction; provided, however, subject to a court
modification pursuant to the immediately following sentence, if any term
or provision of this License pertaining to Human Rights Laws or Human
Rights Principles is deemed invalid, illegal, or unenforceable against
Licensee by a court of competent jurisdiction, all rights in the
Software granted to Licensee shall be deemed null and void as between
Licensor and Licensee. Upon a determination that any term or provision
is invalid, illegal, or unenforceable, to the extent permitted by Laws,
the court may modify this License to affect the original purpose that
the Software be used in compliance with Human Rights Principles and
Human Rights Laws as closely as possible. The language in this License
shall be interpreted as to its fair meaning and not strictly for or
against any party.
* Disclaimer. TO THE FULL EXTENT ALLOWED BY LAW, THIS SOFTWARE COMES
"AS IS," WITHOUT ANY WARRANTY, EXPRESS OR IMPLIED, AND LICENSOR AND
ANY OTHER CONTRIBUTOR SHALL NOT BE LIABLE TO ANYONE FOR ANY DAMAGES OR
OTHER LIABILITY ARISING FROM, OUT OF, OR IN CONNECTION WITH THE SOFTWARE
OR THIS LICENSE, UNDER ANY KIND OF LEGAL CLAIM.
"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by This Hippocratic License is an link:https://ethicalsource.dev[Ethical Source license] and is offered
Sections 1 through 9 of this document. for use by licensors and licensees at their own risk, on an "AS IS" basis, and with no warranties
express or implied, to the maximum extent permitted by Laws.
"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is
granting the License.
"Legal Entity" shall mean the union of the acting entity and all other entities that control, are
controlled by, or are under common control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the direction or management of such
entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this
License.
"Source" form shall mean the preferred form for making modifications, including but not limited to
software source code, documentation source, and configuration files.
"Object" form shall mean any form resulting from mechanical transformation or translation of a
Source form, including but not limited to compiled object code, generated documentation, and
conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or Object form, made available under the
License, as indicated by a copyright notice that is included in or attached to the work (an example
is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or
derived from) the Work and for which the editorial revisions, annotations, elaborations, or other
modifications represent, as a whole, an original work of authorship. For the purposes of this
License, Derivative Works shall not include works that remain separable from, or merely link (or
bind by name) to the interfaces of, the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including the original version of the Work and any
modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted
to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity
authorized to submit on behalf of the copyright owner. For the purposes of this definition,
"submitted" means any form of electronic, verbal, or written communication sent to the Licensor or
its representatives, including but not limited to communication on electronic mailing lists, source
code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor
for the purpose of discussing and improving the Work, but excluding communication that is
conspicuously marked or otherwise designated in writing by the copyright owner as "Not a
Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a
Contribution has been received by Licensor and subsequently incorporated within the Work.
== 2. Grant of Copyright License
Subject to the terms and conditions of this License, each Contributor hereby grants to You a
perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to
reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and
distribute the Work and such Derivative Works in Source or Object form.
== 3. Grant of Patent License
Subject to the terms and conditions of this License, each Contributor hereby grants to You a
perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this
section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer
the Work, where such license applies only to those patent claims licensable by such Contributor that
are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You institute patent litigation
against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or
a Contribution incorporated within the Work constitutes direct or contributory patent infringement,
then any patent licenses granted to You under this License for that Work shall terminate as of the
date such litigation is filed.
== 4. Redistribution
You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with
or without modifications, and in Source or Object form, provided that You meet the following
conditions:
. You must give any other recipients of the Work or Derivative Works a copy of this License; and
. You must cause any modified files to carry prominent notices stating that You changed the files;
and
. You must retain, in the Source form of any Derivative Works that You distribute, all copyright,
patent, trademark, and attribution notices from the Source form of the Work, excluding those
notices that do not pertain to any part of the Derivative Works; and
. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works
that You distribute must include a readable copy of the attribution notices contained within such
NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in
at least one of the following places: within a NOTICE text file distributed as part of the
Derivative Works; within the Source form or documentation, if provided along with the Derivative
Works; or, within a display generated by the Derivative Works, if and wherever such third-party
notices normally appear. The contents of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution notices within Derivative Works that
You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such
additional attribution notices cannot be construed as modifying the License.
You may add Your own copyright statement to Your modifications and may provide additional or
different license terms and conditions for use, reproduction, or distribution of Your modifications,
or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of
the Work otherwise complies with the conditions stated in this License.
== 5. Submission of Contributions
Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the
Work by You to the Licensor shall be under the terms and conditions of this License, without any
additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed with Licensor regarding such
Contributions.
== 6. Trademarks
This License does not grant permission to use the trade names, trademarks, service marks, or product
names of the Licensor, except as required for reasonable and customary use in describing the origin
of the Work and reproducing the content of the NOTICE file.
== 7. Disclaimer of Warranty
Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied, including, without limitation, any warranties or conditions of
TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely
responsible for determining the appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
== 8. Limitation of Liability
In no event and under no legal theory, whether in tort (including negligence), contract, or
otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or
agreed to in writing, shall any Contributor be liable to You for damages, including any direct,
indirect, special, incidental, or consequential damages of any character arising as a result of this
License or out of the use or inability to use the Work (including but not limited to damages for
loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial
damages or losses), even if such Contributor has been advised of the possibility of such damages.
== 9. Accepting Warranty or Additional Liability
While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee
for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights
consistent with this License. However, in accepting such obligations, You may act only on Your own
behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You
agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or
claims asserted against, such Contributor by reason of your accepting any such warranty or
additional liability.
END OF TERMS AND CONDITIONS
Copyright 2016 link:https://www.alchemists.io/team/brooke_kuhlmann[Brooke Kuhlmann].
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
compliance with the License. You may obtain a link:https://www.apache.org/licenses/LICENSE-2.0[copy]
of the License.
Unless required by applicable law or agreed to in writing, software distributed under the License is
distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied. See the License for the specific language governing permissions and limitations under the
License.

View File

@@ -4,9 +4,6 @@
= macOS = macOS
[link=https://circleci.com/gh/bkuhlmann/mac_os]
image::https://circleci.com/gh/bkuhlmann/mac_os.svg?style=svg[Circle CI Status]
Shell scripts for automated macOS machine setup. 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
@@ -59,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 14.0.0 git checkout 15.0.5
---- ----
== Usage == Usage
@@ -183,20 +180,31 @@ link:https://www.alchemists.io/projects/mac_os-config[macOS Config] project for
== Troubleshooting == Troubleshooting
* When using link:https://pi-hole.net[Pi-hole], you might need to temporarily disable prior to * *Pi-hole*: When using link:https://pi-hole.net[Pi-hole], you might need to temporarily disable
upgrading as you might experience various errors with Apple not being able to detect an internet prior to upgrading as you might experience various errors with Apple not being able to detect an
connection which prevents the installer from working. internet connection which prevents the installer from working.
* When using the boot disk and the installer fails in some catestrophic manner, reboot the machine * *Recovery Mode*: When using the boot disk and the installer fails in some catastrophic manner,
into recovery mode -- `POWER` (Silicon) or `COMMAND + R` (Intel) buttons -- to download and reboot the machine into recovery mode -- pass:[<kbd>POWER</kbd>] (Silicon) or
install the last operating system used. Alternatively, you can also use `COMMAND + OPTION + R` pass:[<kbd>COMMAND</kbd>] + pass:[<kbd>r</kbd>] (Intel) buttons -- to download and install the
(Intel) to attemp to download the latest operating system. last operating system used. Alternatively, you can also use pass:[<kbd>COMMAND</kbd>] +
* When using the boot disk, you might experience a situation where you see a black screen with a pass:[<kbd>OPTION</kbd>] + pass:[<kbd>r</kbd>] (Intel) to attempt to download the latest operating
white circle and diagonal line running through it. This means macOS lost or cant find the boot system.
disk for some reason. To correct this, shut down and boot up the system again while holding down * *NVRAM/PRAM Reset*: When using the boot disk, you might experience a situation where you see a
the `OPTION + COMMAND + R + P` (Intel) keys simultaneously. You might want to wait for the system black screen with a white circle and diagonal line running through it. This means macOS lost or
boot sound to happen a few times before releasing the keys. This will clear the system NVRAM/PRAM. can't find the boot disk for some reason. To correct this, shut down and boot up the system again
At this point you can shut down and restart the system following the boot disk instructions (the while holding down pass:[<kbd>OPTION</kbd>] + pass:[<kbd>COMMAND</kbd>] + pass:[<kbd>r</kbd>] +
boot disk will be recognized now). pass:[<kbd>p</kbd>] (Intel) keys simultaneously. You might want to wait for the system boot sound
to happen a few times before releasing the keys. This will clear the system NVRAM/PRAM. At this
point you can shut down and restart the system following the boot disk instructions (the boot disk
will be recognized now).
* *System Management Controller (SMC) Reset*: Sometimes it can help to reset the SMC to improve
system speed. To fix, follow these steps:
** Shut down your Mac.
** Hold down pass:[<kbd>CONTROL</kbd>] + pass:[<kbd>OPTION</kbd>] on the left side of the keyboard
and pass:[<kbd>SHIFT</kbd>] on the right side of the keyboard.
** After seven seconds, hold down the Power button as well.
** Release all keys after another seven seconds.
** Turn on your Mac.
== Development == Development
@@ -208,30 +216,17 @@ git clone https://github.com/bkuhlmann/mac_os.git
cd mac_os cd mac_os
---- ----
== Versioning == link:https://www.alchemists.io/policies/license[License]
Read link:https://semver.org[Semantic Versioning] for details. Briefly, it means: == link:https://www.alchemists.io/policies/security[Security]
* Major (X.y.z) - Incremented for any backwards incompatible public API changes. == link:https://www.alchemists.io/policies/code_of_conduct[Code of Conduct]
* 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 == link:https://www.alchemists.io/policies/contributions[Contributions]
Please note that this project is released with a link:CODE_OF_CONDUCT.adoc[CODE OF CONDUCT]. By == link:https://www.alchemists.io/projects/mac_os/versions[Versions]
participating in this project you agree to abide by its terms.
== Contributions == link:https://www.alchemists.io/community[Community]
Read link:CONTRIBUTING.adoc[CONTRIBUTING] for details.
== License
Read link:LICENSE.adoc[LICENSE] for details.
== History
Read link:CHANGES.adoc[CHANGES] for details.
== Credits == Credits

View File

@@ -1,5 +1,8 @@
# frozen_string_literal: true # frozen_string_literal: true
require "git/lint/rake/setup" require "git/lint/rake/setup"
require "rubocop/rake_task"
task default: :git_lint RuboCop::RakeTask.new
task default: %i[git_lint rubocop]

View File

@@ -1,4 +1,53 @@
= Changes = Versions
== 15.0.5 (2022-05-07)
* Updated to Caliber 0.6.0 - Brooke Kuhlmann
* Updated to Caliber 0.7.0 - Brooke Kuhlmann
* Updated to Caliber 0.8.0 - Brooke Kuhlmann
== 15.0.4 (2022-04-17)
* Added GitHub sponsorship configuration - Brooke Kuhlmann
* Updated to Caliber 0.4.0 - Brooke Kuhlmann
* Updated to Caliber 0.5.0 - Brooke Kuhlmann
* Updated to Git Lint 4.0.0 - Brooke Kuhlmann
* Updated to Ruby 3.1.2 - Brooke Kuhlmann
== 15.0.3 (2022-03-16)
* Fixed Homebrew install to initially default to ZSH - Brooke Kuhlmann
== 15.0.2 (2022-03-03)
* Fixed Hippocratic License to be 2.1.0 version - Brooke Kuhlmann
* Added Caliber gem - Brooke Kuhlmann
* Added Ruby version to Gemfile - Brooke Kuhlmann
* Updated default Rake task to include Git Lint and Rubocop - Brooke Kuhlmann
* Updated to Git Lint 3.2.0 - Brooke Kuhlmann
* Updated to Ruby 3.1.1 - Brooke Kuhlmann
* Removed README badges - Brooke Kuhlmann
== 15.0.1 (2022-01-01)
* Updated README policy section links - Brooke Kuhlmann
* Updated changes as versions documentation - Brooke Kuhlmann
* Updated to Git Lint 3.0.0 - Brooke Kuhlmann
* Removed code of conduct and contributing files - Brooke Kuhlmann
== 15.0.0 (2021-12-27)
* Fixed Hippocratic license structure - Brooke Kuhlmann
* Fixed README changes and credits sections - Brooke Kuhlmann
* Fixed Rubocop Bundler/OrderedGems issue - Brooke Kuhlmann
* Fixed contributing documentation - Brooke Kuhlmann
* Added README community link - Brooke Kuhlmann
* Added README troubleshooting guide for SMC reset - Brooke Kuhlmann
* Added project citation information - Brooke Kuhlmann
* Updated GitHub issue template - Brooke Kuhlmann
* Updated to Hippocratic License 3.0.0 - Brooke Kuhlmann
* Updated to Ruby 3.0.3 - Brooke Kuhlmann
* Updated to Ruby 3.1.0 - Brooke Kuhlmann
== 14.0.0 (2021-10-25) == 14.0.0 (2021-10-25)

View File

@@ -139,6 +139,8 @@ export -f install_git_project
install_homebrew() { install_homebrew() {
if ! command -v brew > /dev/null; then if ! command -v brew > /dev/null; then
/bin/bash -c "$(curl --location --fail --silent --show-error https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" /bin/bash -c "$(curl --location --fail --silent --show-error https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
echo "eval \"($(get_homebrew_bin_root)/brew shellenv)\"" > $HOME/.zprofile
eval "$($(get_homebrew_bin_root)/brew shellenv)"
fi fi
} }
export -f install_homebrew export -f install_homebrew