Necessary to improve the install reliability of software and
associated libraries (extensions). There is now a split between core
installation of applications and associated libraries. This is a loose
split since everything in the *Install* category is mostly
applications but also contains related setup while the *Libraries*
category requires a machine reboot so the fully configured environment
is loaded to ensure all libraries install properly.
The specifics of these changes will be handled in the corresponding
macOS Configuration project.
Improves name consistency by using the same `install_` prefix for all
install scripts.
The dotfiles script was renamed as a shell script since this is now a
dedicated shell configuration script so people can configure their
default shell as they like. Use of this new shell script will be
configured in a future commit.
These are seldom used and native support via Homebrew, for example, is
better than what these scripts can do. This also reduces additional
maintenance burden on this project.
Necessary to make installing personal dotfiles a first class citizen
like many of the other install scripts. Having one's own dotfiles as
part of the machine setup helps ensure the shell is configured properly
especially when it comes to dealing with language specific dependencies
for Ruby, Rust, Node, etc. This reduces duplication within this project
-- and the macOS Configuration project -- from having to know all of
these details when settings can be defined within one's own dotfiles
once.
Necessary to provide a single source of truth for installing Node
dependencies. This used to be managed by the Yarn Setup project but
that project is being deprecated in favor of this project.
Necessary to provide a single source of truth for installing Ruby
dependencies. This used to be managed by the Ruby Setup project but
that project is being deprecated in favor of this project.
Necessary to implement the installation of Rust and associated crates
which can be used by downstream configurations. This functionality was
originally part of the macOS Configuration project but has been moved
here to provide a common foundation in which to build upon.
The install-all command does not reflect that the `bin/install_homebrew` file was split into `bin/install_homebrew_formulas` and `bin/install_homebrew_casks`, and therefore fails to install.
- These scripts default to calling out to scripts of the same name as
defined by the custom configuration project (i.e.
`$MAC_OS_CONFIG_PATH`).
- This helps ensure the scripts in this project can be run
appropriately even if the custom configuration project hasn't fully
implemented all scripts yet.
- This also helps illustrate what scripts are necessary when creating a
custom configuration.
- Improves loading of the correct Bash environment/version, especially
on systems that might not be using a standard install (i.e.
Homebrew), by loading a version of Bash as defined by the environment
rather than a hard coded path.
[ci skip]
- 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.