All Projects → geerlingguy → Ansible Role Homebrew

geerlingguy / Ansible Role Homebrew

Licence: mit
Ansible Role - Homebrew

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Ansible Role Homebrew

Mac Dev Playbook
Mac setup and configuration via Ansible.
Stars: ✭ 4,202 (+2054.87%)
Mutual labels:  ansible, setup, mac, homebrew
macstrap
Set up your macOS from scratch.
Stars: ✭ 16 (-91.79%)
Mutual labels:  setup, homebrew, mac, brew
dotfiles
🔨 My dotfiles for setting up my Macs with Ansible
Stars: ✭ 31 (-84.1%)
Mutual labels:  setup, homebrew, mac
Ansible Role Git
Ansible Role - Git
Stars: ✭ 153 (-21.54%)
Mutual labels:  ansible, setup, role
Ansible Role Repo Epel
Ansible Role - EPEL Repository for RHEL/CentOS
Stars: ✭ 149 (-23.59%)
Mutual labels:  ansible, setup, role
Brew
🍺🐧 The Homebrew package manager for Linux
Stars: ✭ 2,600 (+1233.33%)
Mutual labels:  package-manager, homebrew, brew
sloth-app
Sloth desktop app
Stars: ✭ 16 (-91.79%)
Mutual labels:  setup, homebrew, mac
Ansible Role Apache
Ansible Role - Apache 2.x.
Stars: ✭ 341 (+74.87%)
Mutual labels:  ansible, setup, role
Ansible Role Nodejs
Ansible Role - Node.js
Stars: ✭ 322 (+65.13%)
Mutual labels:  ansible, setup, role
Ansible Role Postgresql
Ansible Role - PostgreSQL
Stars: ✭ 310 (+58.97%)
Mutual labels:  ansible, setup, role
Brew
🍺 The missing package manager for macOS (or Linux)
Stars: ✭ 30,318 (+15447.69%)
Mutual labels:  package-manager, homebrew, brew
Ansible Role Security
Ansible Role - Security
Stars: ✭ 398 (+104.1%)
Mutual labels:  ansible, setup, role
Mac Setup Script
script to setup my mac
Stars: ✭ 123 (-36.92%)
Mutual labels:  setup, mac, brew
Ansible Role Logstash
Ansible Role - Logstash
Stars: ✭ 136 (-30.26%)
Mutual labels:  ansible, role
Aliddns
aliyun ddns for golang【阿里云DDNS服务,用来将自己的动态IP同步到自己的域名解析服务器,安装方便,配置简单,默认支持Linux和MacOS以后台服务方式持续运行】
Stars: ✭ 136 (-30.26%)
Mutual labels:  homebrew, brew
Pacaptr
Pacman-like syntax wrapper for many package managers.
Stars: ✭ 138 (-29.23%)
Mutual labels:  package-manager, homebrew
Ansible Gitlab Runner
Ansible role to install gitlab-runner
Stars: ✭ 143 (-26.67%)
Mutual labels:  ansible, role
Ansible Role Dotfiles
Ansible Role - Easy and flexible dotfile installation.
Stars: ✭ 133 (-31.79%)
Mutual labels:  ansible, role
Ansible Role Nfs
Ansible Role - NFS
Stars: ✭ 141 (-27.69%)
Mutual labels:  ansible, role
Ansible Aur
Ansible module to manage packages from the AUR
Stars: ✭ 149 (-23.59%)
Mutual labels:  ansible, package-manager

Ansible Role: Homebrew

MIT licensed Galaxy Role Downloads CI

Installs Homebrew on MacOS, and configures packages, taps, and cask apps according to supplied variables.

Requirements

None.

Role Variables

Available variables are listed below, along with default values (see defaults/main.yml):

homebrew_repo: https://github.com/Homebrew/brew

The GitHub repository for Homebrew core.

homebrew_prefix: /usr/local
homebrew_install_path: "{{ homebrew_prefix }}/Homebrew"

The path where Homebrew will be installed (homebrew_prefix is the parent directory). It is recommended you stick to the default, otherwise Homebrew might have some weird issues. If you change this variable, you should also manually create a symlink back to /usr/local so things work as Homebrew expects.

homebrew_brew_bin_path: /usr/local/bin

The path where brew will be installed.

homebrew_installed_packages:
  - ssh-copy-id
  - pv
  - { name: vim, install_options: "with-luajit,override-system-vi" }

Packages you would like to make sure are installed via brew install. You can optionally add flags to the install by setting an install_options property, and if used, you need to explicitly set the name for the package as well. By default, no packages are installed (homebrew_installed_packages: []).

homebrew_uninstalled_packages: []

Packages you would like to make sure are uninstalled.

homebrew_upgrade_all_packages: false

Whether to upgrade homebrew and all packages installed by homebrew. If you prefer to manually update packages via brew commands, leave this set to false.

homebrew_taps:
  - homebrew/core
  - { name: my_company/internal_tap, url: 'https://example.com/path/to/tap.git' }

Taps you would like to make sure Homebrew has tapped.

homebrew_cask_apps:
  - firefox
  - { name: virtualbox, install_options:"debug,appdir=/Applications" }

Apps you would like to have installed via cask. Search for popular apps to see if they're available for install via Cask. Cask will not be used if it is not included in the list of taps in the homebrew_taps variable. You can optionally add flags to the install by setting an install_options property, and if used, you need to explicitly set the name for the package as well. By default, no Cask apps will be installed (homebrew_cask_apps: []).

homebrew_cask_accept_external_apps: true

Default value is false and would result in interruption of further processing of the whole role (and ansible play) in case any app given in homebrew_cask_apps is already installed without cask. Good for a tightly managed system.

Specify as true instead if you prefer to silently continue if any App is already installed without cask. Generally good for a system that is managed with cask / Ansible as well as other install methods (like manually) at the same time.

homebrew_cask_uninstalled_apps:
  - google-chrome

Apps you would like to make sure are uninstalled.

homebrew_cask_appdir: /Applications

Directory where applications installed via cask should be installed.

homebrew_use_brewfile: true

Whether to install via a Brewfile. If so, you will need to install the homebrew/bundle tap, which could be done within homebrew_taps.

homebrew_brewfile_dir: '~'

The directory where your Brewfile is located.

homebrew_clear_cache: false

Set to true to remove the Hombrew cache after any new software is installed.

homebrew_user: "{{ ansible_user_id }}"

The user that you would like to install Homebrew as.

homebrew_group: "{{ ansible_user_gid }}"

The group that you would like to use while installing Homebrew.

homebrew_folders_additional: []

Any additional folders inside homebrew_prefix for which to ensure homebrew user/group ownership.

Dependencies

Example Playbook

- hosts: localhost
  vars:
    homebrew_installed_packages:
      - mysql
  roles:
    - geerlingguy.homebrew

See the tests/local-testing directory for an example of running this role over Ansible's local connection. See also: Mac Development Ansible Playbook.

License

MIT

Author Information

This role was created in 2014 by Jeff Geerling, author of Ansible for DevOps.

Maintainer(s)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].