A modular setup script for Hive Engineering that automates the installation and configuration of essential development tools on macOS.
-
Clone and run:
git clone https://github.com/hive-engineering/engineering-setup.git cd engineering-setup chmod +x setup.sh ./setup.sh
-
For force reinstall of all tools:
./setup.sh --force
This script automates the setup of a new engineer's development environment by installing and configuring common tools and applications needed for development at Hive. It's designed to be:
- ✨ Modular: Each component is separated into its own script
- 🔄 Idempotent: Safe to run multiple times
- 🔧 Configurable: Supports different installation modes
- 🎯 Focused: Specifically designed for macOS + zsh environments
awscli
: AWS Command Line Interfaceyq
: YAML processorterraform
: Infrastructure as Code toollibpq
: PostgreSQL clientcoreutils
: GNU core utilitiesgit
: Version control system
- Docker Desktop
- AWS VPN Client
- TunnelBlick (VPN client for OpenVPN configurations)
- Visual Studio Code
- Oh My Zsh (shell configuration)
- asdf (version manager)
- Hive repositories:
fc-app
: Fulfilment centre facing appmerchant-app
: Merchant facing app (Hive Portal)frontend-shared
: Shared components packagepost-purchase-app
: Post purchase focused apphivecore
: Backend serving the core feature of Hive
- macOS operating system
- Terminal access
- Internet connection
- Administrator privileges
-
Clone this repository:
git clone https://github.com/hive-engineering/engineering-setup.git cd engineering-setup
-
Make the script executable:
chmod +x setup.sh
-
Run the script:
./setup.sh
./setup.sh
This will:
- Install missing tools
- Skip already installed components
- Update existing tools if needed
./setup.sh --force
This will:
- Reinstall all components even if already present
- Reconfigure all settings
- Update PATH and shell configurations
.
├── setup.sh # Main entry script
├── scripts/
│ ├── core/ # Core script functionality
│ │ ├── main.sh # Main orchestrator
│ │ └── pre-checks.sh # System validation
│ ├── installers/ # Installation scripts
│ │ ├── homebrew.sh # Homebrew installation
│ │ ├── cli-tools.sh # CLI tools installation
│ │ └── applications.sh # macOS apps installation
│ ├── optional/ # Optional components
│ │ ├── oh-my-zsh.sh # Oh My Zsh setup
│ │ ├── asdf.sh # asdf installation
│ │ └── repos.sh # Repository cloning
│ └── utils/ # Utility scripts
│ ├── aws.sh # AWS configuration
│ └── helpers.sh # Helper functions
After running the script:
-
Open a new terminal or run:
exec zsh
-
Verify the installation by running:
aws --version docker --version terraform --version git --version
-
If you installed Oh My Zsh, customize your
~/.zshrc
-
If you installed asdf, check asdf documentation for usage
-
For Hive repositories, check their respective README files for setup instructions
-
Configure your VPN by importing your OpenVPN configuration into TunnelBlick
-
Homebrew Installation Fails
- Ensure you have internet connection
- Check your system's security settings
- Run
xcode-select --install
manually
-
Permission Issues
- Ensure you have administrator privileges
- Run
sudo chown -R $(whoami) /opt/homebrew
if Homebrew permissions are wrong
-
Application Installation Fails
- Try installing the failed application manually via Homebrew
- Check system requirements for each application
If you encounter any issues:
- Check the error message in the terminal
- Verify your internet connection
- Contact the engineering team for support
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
This project is proprietary and confidential to Hive Engineering.
For support, please contact the engineering team or create an issue in the repository.