geerlingguy.homebrew
Rol de Ansible: Homebrew (MOVIDO)
MOVIDO: Este rol ha sido movido a la colección geerlingguy.mac
. Por favor consulta este problema para obtener una guía de migración y más información.
Instala Homebrew en MacOS y configura paquetes, taps y aplicaciones cask según las variables proporcionadas.
Requisitos
Ninguno.
Variables del Rol
Las variables disponibles se enumeran a continuación, junto con los valores predeterminados (ver defaults/main.yml
):
homebrew_repo: https://github.com/Homebrew/brew
El repositorio de GitHub para el núcleo de Homebrew.
homebrew_prefix: "{{ (ansible_machine == 'arm64') | ternary('/opt/homebrew', '/usr/local') }}"
homebrew_install_path: "{{ homebrew_prefix }}/Homebrew"
La ruta donde se instalará Homebrew (homebrew_prefix
es el directorio principal). Se recomienda mantener el valor predeterminado, de lo contrario, Homebrew podría tener algunos problemas extraños. Si cambias esta variable, también deberías crear un enlace simbólico manualmente de vuelta a /usr/local para que las cosas funcionen como Homebrew espera.
homebrew_brew_bin_path: /usr/local/bin
La ruta donde se instalará brew
.
homebrew_installed_packages:
- ssh-copy-id
- pv
- { name: vim, install_options: "with-luajit,override-system-vi" }
Paquetes que te gustaría asegurarte que estén instalados mediante brew install
. Puedes agregar opciones de instalación opcionalmente configurando una propiedad install_options
. Si usas esta opción, también necesitas establecer explícitamente el name
del paquete. Por defecto, no se instalan paquetes (homebrew_installed_packages: []
).
homebrew_uninstalled_packages: []
Paquetes que te gustaría asegurarte que se desinstalen.
homebrew_upgrade_all_packages: false
Indica si se debe actualizar Homebrew y todos los paquetes instalados por Homebrew. Si prefieres actualizar los paquetes manualmente mediante comandos brew
, deja esto en false
.
homebrew_taps:
- homebrew/core
- { name: my_company/internal_tap, url: 'https://example.com/path/to/tap.git' }
Taps que deseas asegurarte que Homebrew haya agregado.
homebrew_cask_apps:
- firefox
- { name: virtualbox, install_options:"debug,appdir=/Applications" }
Aplicaciones que te gustaría tener instaladas mediante cask
. Busca aplicaciones populares para ver si están disponibles para instalación mediante Cask. Cask no se utilizará si no está incluido en la lista de taps en la variable homebrew_taps
. Puedes agregar opciones de instalación opcionalmente configurando una propiedad install_options
, y si se usa, también necesitas establecer explícitamente el name
del paquete. Por defecto, no se instalarán aplicaciones Cask (homebrew_cask_apps: []
).
homebrew_cask_accept_external_apps: true
El valor predeterminado es false
y resultaría en la interrupción del procesamiento de todo el rol (y la reproducción de ansible) en caso de que alguna aplicación indicada en homebrew_cask_apps
ya esté instalada sin cask
. Es bueno para un sistema cuidadosamente gestionado.
Especifica como true
si prefieres continuar sin problemas si alguna aplicación ya está instalada sin cask
. Generalmente es bueno para un sistema que es gestionado tanto con cask
/ Ansible
como con otros métodos de instalación (como manualmente) al mismo tiempo.
homebrew_cask_uninstalled_apps:
- google-chrome
Aplicaciones que te gustaría asegurarte que se desinstalen.
homebrew_cask_appdir: /Applications
Directorio donde deben instalarse las aplicaciones instaladas mediante cask
.
homebrew_use_brewfile: true
Indica si se debe instalar mediante un Brewfile. Si es así, necesitarás instalar el tap homebrew/bundle
, lo que se puede hacer dentro de homebrew_taps
.
homebrew_brewfile_dir: '~'
El directorio donde se encuentra tu Brewfile.
homebrew_clear_cache: false
Establece en true
para eliminar la caché de Homebrew después de que se instale algún nuevo software.
homebrew_user: "{{ ansible_user_id }}"
El usuario con el que te gustaría instalar Homebrew.
homebrew_group: "{{ ansible_user_gid }}"
El grupo que te gustaría usar mientras instalas Homebrew.
homebrew_folders_additional: []
Cualquier carpeta adicional dentro de homebrew_prefix
para la cual asegurar la propiedad de usuario/grupo de Homebrew.
Dependencias
Ejemplo de Playbook
- hosts: localhost
vars:
homebrew_installed_packages:
- mysql
roles:
- geerlingguy.homebrew
Consulta el directorio tests/local-testing
para un ejemplo de ejecución de este rol a través de la conexión local
de Ansible. Consulta también:
Playbook de Desarrollo en Mac con Ansible.
Licencia
Información del Autor
Este rol fue creado en 2014 por Jeff Geerling, autor de Ansible for DevOps.
Mantenedor(es)
ansible-galaxy install geerlingguy.homebrew