{"id":13753435,"url":"https://github.com/geerlingguy/ansible-role-homebrew","last_synced_at":"2025-12-17T06:18:49.167Z","repository":{"id":21427658,"uuid":"24745797","full_name":"geerlingguy/ansible-role-homebrew","owner":"geerlingguy","description":"Ansible Role - Homebrew (MOVED to geerlingguy.mac collection)","archived":true,"fork":false,"pushed_at":"2021-05-31T14:19:18.000Z","size":121,"stargazers_count":233,"open_issues_count":1,"forks_count":139,"subscribers_count":16,"default_branch":"master","last_synced_at":"2024-11-16T06:30:20.598Z","etag":null,"topics":["ansible","brew","homebrew","mac","macos","package-manager","role","setup"],"latest_commit_sha":null,"homepage":"https://galaxy.ansible.com/geerlingguy/homebrew/","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/geerlingguy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":"geerlingguy","patreon":"geerlingguy"}},"created_at":"2014-10-03T03:37:29.000Z","updated_at":"2024-11-09T08:28:39.000Z","dependencies_parsed_at":"2022-09-10T23:41:31.447Z","dependency_job_id":null,"html_url":"https://github.com/geerlingguy/ansible-role-homebrew","commit_stats":null,"previous_names":[],"tags_count":49,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geerlingguy%2Fansible-role-homebrew","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geerlingguy%2Fansible-role-homebrew/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geerlingguy%2Fansible-role-homebrew/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geerlingguy%2Fansible-role-homebrew/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/geerlingguy","download_url":"https://codeload.github.com/geerlingguy/ansible-role-homebrew/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253328850,"owners_count":21891538,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansible","brew","homebrew","mac","macos","package-manager","role","setup"],"created_at":"2024-08-03T09:01:22.160Z","updated_at":"2025-12-17T06:18:49.099Z","avatar_url":"https://github.com/geerlingguy.png","language":"Shell","funding_links":["https://github.com/sponsors/geerlingguy","https://patreon.com/geerlingguy"],"categories":["setup"],"sub_categories":[],"readme":"# Ansible Role: Homebrew (MOVED)\n\n**MOVED**: This role has been moved into the `geerlingguy.mac` collection. Please see [this issue](https://github.com/geerlingguy/ansible-role-homebrew/issues/166) for a migration guide and more information.\n\n[![MIT licensed][badge-license]][link-license]\n[![Galaxy Role][badge-role]][link-galaxy]\n[![Downloads][badge-downloads]][link-galaxy]\n[![CI][badge-gh-actions]][link-gh-actions]\n\nInstalls [Homebrew][homebrew] on MacOS, and configures packages, taps, and cask apps according to supplied variables.\n\n## Requirements\n\nNone.\n\n## Role Variables\n\nAvailable variables are listed below, along with default values (see [`defaults/main.yml`](defaults/main.yml)):\n\n    homebrew_repo: https://github.com/Homebrew/brew\n\nThe GitHub repository for Homebrew core.\n\n    homebrew_prefix: \"{{ (ansible_machine == 'arm64') | ternary('/opt/homebrew', '/usr/local') }}\"\n    homebrew_install_path: \"{{ homebrew_prefix }}/Homebrew\"\n\nThe 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.\n\n    homebrew_brew_bin_path: /usr/local/bin\n\nThe path where `brew` will be installed.\n\n    homebrew_installed_packages:\n      - ssh-copy-id\n      - pv\n      - { name: vim, install_options: \"with-luajit,override-system-vi\" }\n\nPackages 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: []`).\n\n    homebrew_uninstalled_packages: []\n\nPackages you would like to make sure are _uninstalled_.\n\n    homebrew_upgrade_all_packages: false\n\nWhether to upgrade homebrew and all packages installed by homebrew. If you prefer to manually update packages via `brew` commands, leave this set to `false`.\n\n    homebrew_taps:\n      - homebrew/core\n      - { name: my_company/internal_tap, url: 'https://example.com/path/to/tap.git' }\n\nTaps you would like to make sure Homebrew has tapped.\n\n    homebrew_cask_apps:\n      - firefox\n      - { name: virtualbox, install_options:\"debug,appdir=/Applications\" }\n\nApps you would like to have installed via `cask`. [Search][caskroom] 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: []`).\n\n    homebrew_cask_accept_external_apps: true\n\nDefault 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.\n\nSpecify 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.\n\n    homebrew_cask_uninstalled_apps:\n      - google-chrome\n\nApps you would like to make sure are _uninstalled_.\n\n    homebrew_cask_appdir: /Applications\n\nDirectory where applications installed via `cask` should be installed.\n\n    homebrew_use_brewfile: true\n\nWhether to install via a Brewfile. If so, you will need to install the `homebrew/bundle` tap, which could be done within `homebrew_taps`.\n\n    homebrew_brewfile_dir: '~'\n\nThe directory where your Brewfile is located.\n\n    homebrew_clear_cache: false\n\nSet to `true` to remove the Hombrew cache after any new software is installed.\n\n    homebrew_user: \"{{ ansible_user_id }}\"\n\nThe user that you would like to install Homebrew as.\n\n    homebrew_group: \"{{ ansible_user_gid }}\"\n\nThe group that you would like to use while installing Homebrew.\n\n    homebrew_folders_additional: []\n\nAny additional folders inside `homebrew_prefix` for which to ensure homebrew user/group ownership.\n\n## Dependencies\n\n  - [elliotweiser.osx-command-line-tools][dep-osx-clt-role]\n\n## Example Playbook\n\n    - hosts: localhost\n      vars:\n        homebrew_installed_packages:\n          - mysql\n      roles:\n        - geerlingguy.homebrew\n\nSee the `tests/local-testing` directory for an example of running this role over\nAnsible's `local` connection. See also:\n[Mac Development Ansible Playbook][mac-dev-playbook].\n\n## License\n\n[MIT][link-license]\n\n## Author Information\n\nThis role was created in 2014 by [Jeff Geerling][author-website], author of\n[Ansible for DevOps][ansible-for-devops].\n\n#### Maintainer(s)\n\n- [Jeff Geerling](https://github.com/geerlingguy)\n- [Elliot Weiser](https://github.com/elliotweiser)\n\n[ansible-for-devops]: https://www.ansiblefordevops.com/\n[author-website]: https://www.jeffgeerling.com/\n[badge-downloads]: https://img.shields.io/ansible/role/d/1858.svg\n[badge-license]: https://img.shields.io/github/license/geerlingguy/ansible-role-homebrew.svg\n[badge-role]: https://img.shields.io/ansible/role/1858.svg\n[badge-gh-actions]: https://github.com/geerlingguy/ansible-role-homebrew/workflows/CI/badge.svg?event=push\n[caskroom]: https://caskroom.github.io/search\n[homebrew]: http://brew.sh/\n[dep-osx-clt-role]: https://galaxy.ansible.com/elliotweiser/osx-command-line-tools/\n[link-galaxy]: https://galaxy.ansible.com/geerlingguy/homebrew/\n[link-license]: https://raw.githubusercontent.com/geerlingguy/ansible-role-homebrew/master/LICENSE\n[link-gh-actions]: https://github.com/geerlingguy/ansible-role-homebrew/actions?query=workflow%3ACI\n[mac-dev-playbook]: https://github.com/geerlingguy/mac-dev-playbook\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeerlingguy%2Fansible-role-homebrew","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgeerlingguy%2Fansible-role-homebrew","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeerlingguy%2Fansible-role-homebrew/lists"}