[//]: # (SPDX-License-Identifier: MIT) # Role Name role-common-packages # Description Installs a smattering of packages into target machines. # Requirements Currently deals exclusively with Linux machines. # Role Variables ## Defined Per [defaults/main.yml](defaults/main.yml) this role is equipped to deal with Arch Linux and Debian. - `packages_linux_common_all_families`: Place package names in this list that are identical across all Linux flavors. ``` packages_linux_common_all_families: - 'git' - 'parted' - 'wget' ``` - `packages_linux_common_*`: Add package names to an operating system-specific list if it's unique to that operating system. The asterisk (`*`) is a placeholder for `ansible_facts['os_family'] | lower`. If `ansible_facts['os_family']` equals `Debian` then this becomes `debian` and the list turns into `packages_linux_common_debian`; same for `packages_linux_common_archlinux` etc. Note that for Arch Linux these are official packages only, not packages from the Arch User Repository. ``` packages_linux_common_archlinux: - 'difftastic' - 'eza' - 'openbsd-netcat' packages_linux_common_debian: - 'bind9-dnsutils' - 'unattended-upgrades' - 'xxd' ``` - `packages_linux_paru_archlinux`: Add package names to this list that are exclusive to Arch Linux and must be installed from the Arch User Repository (AUR). ``` `packages_linux_paru_archlinux`: - 'downgrade' - 'flent' - 'paccache-hook' ``` ## Undefined From somewhere outside of this role the role expects the following variable to be set. This is used in more than one role, we suggest to define this as a host or group var. - `landscape_quico__e_mail_default_recipient_addr_spec`: An e-mail address such as `alerting@example.com` rendered as an [RFC 2822](https://datatracker.ietf.org/doc/html/rfc2822#section-3.4.1) `addr-spec` string. This is the recipient e-mail address we'll use for system-generated e-mails. # Dependencies This role depends on the [kewlfft.aur](https://galaxy.ansible.com/ui/repo/published/kewlfft/aur/) Ansible collection to install packages from Arch User Repository on Arch Linux target machines. # Example Playbook In your `playbook.yml` call it like so: ``` - name: 'Awesome playbook' hosts: all roles: - 'role-common-packages' ``` # License MIT