megabyte-labs.homebrew
Homebrew - A Package Manager for macOS/Linux
Created by Megabyte Labs
An Ansible role that installs Homebrew (a package management system) on macOS and Linux systems
Table of Contents
- Overview
- Features
- Quick Start
- Supported Operating Systems
- Dependencies
- Example Playbook
- Contributing
- License
Overview
This project is an Ansible role designed to install Homebrew, a package management system for macOS and Linux. Homebrew makes it easy to install software on these operating systems.
Features
Homebrew Installation:
- Verifies if Homebrew is already installed
- Installs Homebrew on macOS and Linux
- Updates your
.bashrc
file to include Homebrew in yourPATH
Package Management:
- Keeps Homebrew and its packages up-to-date
- Installs a customizable list of Homebrew packages
- Updates pre-installed Homebrew casks
- Installs customizable Homebrew casks on macOS
Quick Start
To install Homebrew without using Ansible, run the following command for your OS:
For Linux/macOS:
curl -sS https://install.doctor/homebrew | bash
For Windows:
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://install.doctor/homebrew?os=win'))
Important Note: Before running the above commands, check the URL to ensure it's safe.
Alternatively, you can visit Install Doctor, an app we created that simplifies the installation process.
Supported Operating Systems
We have tested this role on the following operating systems:
OS Family | OS Version | Status |
---|---|---|
Ubuntu | 18.04 - 21.10 | ✅ |
Windows | 10 | ✅ |
Other OS variants | Various | Possible, not tested |
Idempotent: Running this role multiple times should not change the system after the first run.
Dependencies
Some roles depend on other roles and collections published on Ansible Galaxy. Make sure to install all dependencies before running the role:
if type poetry &> /dev/null; then poetry install --no-root; else pip3 install -r .config/assets/requirements.txt; fi
ansible-galaxy install -r requirements.yml
Or simply run: bash .config/scripts/start.sh
to install everything needed.
Required Python Packages
Package | Description |
---|---|
ansible | For configuration management |
docker | To manage Docker containers |
python-vagrant | For provisioning Vagrant VMs |
pywinrm | For managing Windows machines with WinRM |
Example Playbook
To use this role in your playbook:
- hosts: all
roles:
- professormanhattan.homebrew
You can find an example playbook that incorporates this role in our main project Gas Station.
Contributing
We welcome contributions! Check the issues page and the contributing guide for more information.
License
This project is licensed under the MIT License by Megabyte LLC. For more details, read the LICENSE.
Installs Homebrew (a package management system) on macOS and Linux systems
ansible-galaxy install megabyte-labs.homebrew