professormanhattan.homebrew
Homebrew - A Package Manager for macOS/Linux
Created by Megabyte Labs
Overview
This project is an Ansible role to install Homebrew, a package manager for macOS and Linux, making it easier to install software. Homebrew is free and open-source, allowing users to manage their software easily.
Features
Homebrew Installation:
- Checks if Homebrew is already installed and installs it if not.
- Updates Homebrew after installation.
- Ensures the user's shell configuration is set up to use Homebrew.
Package Management:
- Keeps Homebrew and its packages up-to-date.
- Allows users to specify a list of packages to install with the
homebrew_packages
variable. - On macOS, manages both Homebrew packages and applications (casks) with the
homebrew_casks
variable.
Quick Start
To install Homebrew quickly without using Ansible, run the following commands based on your operating system:
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: Always verify the scripts before running them on your system.
Supported Operating Systems
Homebrew role has been tested on several operating systems. Here's a summary:
OS Family | OS Version | Status |
---|---|---|
Ubuntu | 18.04 - 21.10 | ✅ |
Windows | 10 | ✅ |
Others | Various | ❌ |
Idempotent:** This means running the role multiple times won't change anything if the system is already set up correctly.
Dependencies
Before running the role, install the necessary dependencies with:
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
Python Packages Required:
- Ansible: Main tool for running scripts.
- Docker: For managing Docker containers.
- Various linting and testing tools for checking code quality.
Example Playbook
To add this role to your playbook, you can do the following:
- hosts: all
roles:
- professormanhattan.homebrew
This setup allows you to manage Homebrew packages seamlessly across your systems.
Contributing
Contributions, issues, and suggestions are welcome! Check our issues page if you want to help. Guidelines can be found in the contributing guide.
License
Licensed under the MIT License.
Feel free to explore, install, and customize your usage of Homebrew with this Ansible role!
Installs Homebrew (a package management system) on macOS and Linux systems
ansible-galaxy install professormanhattan.homebrew