Flatten directory structure and update documentation

- Moved all files from mac_os/ subdirectory to repository root
- Updated README.adoc to reflect simplified architecture
- Updated QUICK_INSTALL.md with all current apps
- Added claude-cli to install.sh and bin/install_homebrew_formulas
- Repository now shows clean file structure without nested mac_os folder
- Documentation now accurately describes opinionated installer approach

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-09 13:31:07 -06:00
parent 74943e31f4
commit 2fcf26506a
89 changed files with 167 additions and 249 deletions

21
bin/install_app_store Executable file
View File

@@ -0,0 +1,21 @@
#! /usr/bin/env bash
# Installs App Store software.
set -o nounset
set -o errexit
set -o pipefail
IFS=$'\n\t'
# Check that mas CLI is installed
check_mas_install
# Productivity
mas install 1352778147 # Bitwarden
mas install 1503970375 # Invoice Ninja
mas install 409203825 # Numbers
mas install 409201541 # Pages
mas install 1503446680 # PastePal
mas install 1579902068 # xSearch
printf "\n✅ Mac App Store applications installation complete!\n"

8
bin/install_basics Executable file
View File

@@ -0,0 +1,8 @@
#! /usr/bin/env bash
# Installs basic system settings.
printf "Installing custom fonts...\n"
mkdir -p "$HOME/Library/Fonts"
cp -n "$MAC_OS_PATH/fonts/"* "$HOME/Library/Fonts/" 2>/dev/null || true
printf "Fonts installed.\n"

16
bin/install_defaults Executable file
View File

@@ -0,0 +1,16 @@
#! /usr/bin/env bash
# Installs system and application default settings.
set -o nounset
set -o errexit
set -o pipefail
IFS=$'\n\t'
SCRIPT_PATH="$MAC_OS_CONFIG_PATH/bin/install_defaults"
if [[ -x "$SCRIPT_PATH" ]]; then
"$SCRIPT_PATH"
else
printf "%s\n" "WARNING: Default settings script does not exist or is not executable."
fi

13
bin/install_dev_tools Executable file
View File

@@ -0,0 +1,13 @@
#! /usr/bin/env bash
# Installs development tooling requirements.
printf "%s\n" "Installing Xcode CLI tools..."
xcode-select --install
printf "%s\n" "💡 ALT+TAB to view and accept Xcode license window."
read -p "Have you completed the Xcode CLI tools install (y/n)? " xcode_response
if [[ "$xcode_response" != "y" ]]; then
printf "%s\n" "ERROR: Xcode CLI tools must be installed before proceeding."
exit 1
fi

37
bin/install_homebrew_casks Executable file
View File

@@ -0,0 +1,37 @@
#! /usr/bin/env bash
# Installs Homebrew Casks (GUI applications).
set -o nounset
set -o errexit
set -o pipefail
IFS=$'\n\t'
# Ensure Homebrew is installed
install_homebrew
# Browsers
brew install --cask eloston-chromium
# Communication
brew install --cask deepl
brew install --cask element
brew install --cask signal
# Cloud & Sync
brew install --cask nextcloud
brew install --cask proton-drive
brew install --cask proton-mail
brew install --cask protonvpn
# Development
brew install --cask codex
brew tap steipete/tap
brew install --cask steipete/tap/codexbar
brew install --cask nova
brew install --cask transmit
# Media & Utilities
brew install --cask trimmy
printf "\n✅ Homebrew Casks installation complete!\n"

34
bin/install_homebrew_formulas Executable file
View File

@@ -0,0 +1,34 @@
#! /usr/bin/env bash
# Installs Homebrew formulas (CLI tools).
set -o nounset
set -o errexit
set -o pipefail
IFS=$'\n\t'
# Ensure Homebrew is installed
install_homebrew
# Shell & Terminal
brew install atuin
brew install bash
brew install bash-completion
# AI
brew install claude-cli
brew install gemini-cli
# Development
brew install node
# Media
brew install ffmpeg
# Utilities
brew install mas
brew install mole
brew install rename
brew install ykman
printf "\n✅ Homebrew Formulas installation complete!\n"

16
bin/install_shell Executable file
View File

@@ -0,0 +1,16 @@
#! /usr/bin/env bash
# Installs shell.
set -o nounset
set -o errexit
set -o pipefail
IFS=$'\n\t'
SCRIPT_PATH="$MAC_OS_CONFIG_PATH/bin/install_shell"
if [[ -x "$SCRIPT_PATH" ]]; then
"$SCRIPT_PATH"
else
printf "%s\n" "WARNING: Shell script does not exist or is not executable."
fi

35
bin/run Executable file
View File

@@ -0,0 +1,35 @@
#! /usr/bin/env bash
# Executes the command line interface.
source lib/installers.sh
source lib/options.sh
source lib/settings.sh
source lib/utilities.sh
source lib/verifiers.sh
while true; do
if [[ $# == 0 ]]; then
printf "\n%s\n" "Usage: run OPTION"
printf "\n%s\n" "macOS Installer Options:"
printf "%s\n" " Install:"
printf "%s\n" " b: Install basics (fonts)."
printf "%s\n" " t: Install development tools (Xcode CLI)."
printf "%s\n" " hf: Install Homebrew Formulas."
printf "%s\n" " hc: Install Homebrew Casks."
printf "%s\n" " m: Install Mac App Store software."
printf "%s\n" " i: Install all (executes all of the above steps in order)."
printf "%s\n" " Manage:"
printf "%s\n" " c: Check status of installed software."
printf "%s\n" " C: Caffeinate machine (prevent sleep during installation)."
printf "%s\n" " w: Clean work (temp) directory."
printf "%s\n\n" " q: Quit/Exit."
read -p "Enter selection: " response
printf "\n"
process_option "$response"
else
process_option "$1"
fi
break
done