63 lines
1.9 KiB
Markdown

[//]: # (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
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'
```
# 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