geerlingguy.homebrew
Rola Ansible: Homebrew (PRZENIESIONA)
PRZENIESIONA: Ta rola została przeniesiona do kolekcji geerlingguy.mac
. Zobacz ten temat w celu uzyskania przewodnika migracyjnego i więcej informacji.
Instaluje Homebrew na MacOS i konfiguruje pakiety, tapy oraz aplikacje cask według dostarczonych zmiennych.
Wymagania
Brak.
Zmienne roli
Dostępne zmienne są wymienione poniżej, wraz z wartościami domyślnymi (patrz defaults/main.yml
):
homebrew_repo: https://github.com/Homebrew/brew
Repozytorium GitHub dla rdzenia Homebrew.
homebrew_prefix: "{{ (ansible_machine == 'arm64') | ternary('/opt/homebrew', '/usr/local') }}"
homebrew_install_path: "{{ homebrew_prefix }}/Homebrew"
Ścieżka, w której zostanie zainstalowany Homebrew (homebrew_prefix
to katalog nadrzędny). Zaleca się pozostanie przy wartości domyślnej, w przeciwnym razie Homebrew może mieć dziwne problemy. Jeśli zmienisz tę zmienną, powinieneś również ręcznie utworzyć symlink z powrotem do /usr/local, aby wszystko działało tak, jak oczekuje Homebrew.
homebrew_brew_bin_path: /usr/local/bin
Ścieżka, w której zostanie zainstalowany brew
.
homebrew_installed_packages:
- ssh-copy-id
- pv
- { name: vim, install_options: "with-luajit,override-system-vi" }
Pakiety, które chcesz zainstalować za pomocą brew install
. Możesz opcjonalnie dodać flagi do instalacji, ustawiając właściwość install_options
, i jeśli używasz, musisz również wyraźnie ustawić name
dla pakietu. Domyślnie nie są instalowane żadne pakiety (homebrew_installed_packages: []
).
homebrew_uninstalled_packages: []
Pakiety, które chcesz, aby były odinstalowane.
homebrew_upgrade_all_packages: false
Czy zaktualizować Homebrew i wszystkie zainstalowane pakiety. Jeśli wolisz ręcznie aktualizować pakiety za pomocą poleceń brew
, pozostaw to ustawione na false
.
homebrew_taps:
- homebrew/core
- { name: my_company/internal_tap, url: 'https://example.com/path/to/tap.git' }
Tapy, które chcesz, aby Homebrew miało dodane.
homebrew_cask_apps:
- firefox
- { name: virtualbox, install_options:"debug,appdir=/Applications" }
Aplikacje, które chcesz, aby były zainstalowane za pomocą cask
. Szukaj popularnych aplikacji, aby sprawdzić, czy są dostępne do instalacji przez Cask. Cask nie będzie używany, jeśli nie jest uwzględniony na liście tapów w zmiennej homebrew_taps
. Możesz opcjonalnie dodać flagi do instalacji, ustawiając właściwość install_options
, i jeśli używasz, musisz również wyraźnie ustawić name
dla pakietu. Domyślnie nie będą instalowane żadne aplikacje Cask (homebrew_cask_apps: []
).
homebrew_cask_accept_external_apps: true
Wartość domyślna to false
i spowoduje przerwanie dalszego przetwarzania całej roli (i odsłony ansible), jeśli jakakolwiek aplikacja podana w homebrew_cask_apps
jest już zainstalowana bez cask
. Dobre dla ściśle zarządzanego systemu.
Określ jako true
, jeśli wolisz kontynuować bez przeszkód, jeśli jakakolwiek aplikacja jest już zainstalowana bez cask
. Zwykle dobre dla systemu, który jest zarządzany zarówno za pomocą cask
/ Ansible
, jak i innymi metodami instalacji (np. ręcznie) w tym samym czasie.
homebrew_cask_uninstalled_apps:
- google-chrome
Aplikacje, które chcesz, aby były odinstalowane.
homebrew_cask_appdir: /Applications
Katalog, w którym powinny być instalowane aplikacje instalowane za pomocą cask
.
homebrew_use_brewfile: true
Czy instalować za pomocą Brewfile. Jeśli tak, będziesz musiał zainstalować tap homebrew/bundle
, co można zrobić w ramach homebrew_taps
.
homebrew_brewfile_dir: '~'
Katalog, w którym znajduje się Twój Brewfile.
homebrew_clear_cache: false
Ustaw na true
, aby usunąć pamięć podręczną Hombrew po zainstalowaniu nowego oprogramowania.
homebrew_user: "{{ ansible_user_id }}"
Użytkownik, jako którego chcesz zainstalować Homebrew.
homebrew_group: "{{ ansible_user_gid }}"
Grupa, którą chcesz użyć podczas instalacji Homebrew.
homebrew_folders_additional: []
Jakiekolwiek dodatkowe foldery wewnątrz homebrew_prefix
, dla których chcesz zapewnić właśność użytkownika/grupy Homebrew.
Zależności
Przykład pliku playbook
- hosts: localhost
vars:
homebrew_installed_packages:
- mysql
roles:
- geerlingguy.homebrew
Zobacz katalog tests/local-testing
dla przykładu uruchamiania tej roli za pośrednictwem lokalnego połączenia Ansible. Zobacz także:
Playbook Ansible do rozwoju Maca.
Licencja
Informacje o autorze
Ta rola została stworzona w 2014 roku przez Jeffa Geerlinga, autora Ansible dla DevOps.
Utrzymujący(a)
ansible-galaxy install geerlingguy.homebrew