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:
21
bin/install_app_store
Executable file
21
bin/install_app_store
Executable 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
8
bin/install_basics
Executable 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
16
bin/install_defaults
Executable 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
13
bin/install_dev_tools
Executable 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
37
bin/install_homebrew_casks
Executable 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
34
bin/install_homebrew_formulas
Executable 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
16
bin/install_shell
Executable 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
35
bin/run
Executable 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
|
||||
Reference in New Issue
Block a user