Files
ansible_role_package/tasks/pkgs/bat.yml
2026-04-13 14:50:45 -06:00

66 lines
1.8 KiB
YAML

# vim: set filetype=yaml.ansible :
#
## Package: bat
## Description: cat replacement with wings
## Version: latest
## Methods: source
## Helpers: cargo
---
- name: Set bat default facts # {{{
ansible.builtin.set_fact:
bat:
methods:
- source
- system
pkgname:
RedHat: bat
Debian: bat
Archlinux: bat
Alpine: bat
Darwin: bat
FreeBSD: bat
# }}}
- name: Start bat configuration
when:
- "'bat' not in __configured"
block:
- name: Set bat install method
when:
- bat_imethod is undefined
ansible.builtin.set_fact:
bat_imethod: "{{ imethod if imethod in bat.methods else bat.methods[0] }}"
- name: Configure bat source install
when:
- bat_imethod == "source"
block:
- name: Set bat cargo configuration
ansible.builtin.set_fact:
bat_cargo_install:
name: bat
locked: true
- name: Queue bat for cargo install
ansible.builtin.set_fact:
pkg_cargo: "{{ pkg_cargo + [bat_cargo_install] }}"
- name: Finalise bat source install
ansible.builtin.set_fact:
bat_install: "{{ bat_imethod }}={{ bat_cargo_install }}"
- name: Configure bat system install
when:
- bat_imethod == "system"
block:
- name: Append bat to pkg_sys
ansible.builtin.set_fact:
pkg_sys: "{{ pkg_sys + [ bat.pkgname[os_family] ] }}"
- name: Finalise bat system install
ansible.builtin.set_fact:
bat_install: "{{ bat_imethod }}={{ bat.pkgname[os_family] }}"
- name: Finalize bat configuration
ansible.builtin.set_fact:
__configured: "{{ __configured | combine( { 'bat': bat_install } ) }}"