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.