Files
ansible_role_package/tasks/pkgs/direnv.yml

45 lines
1.2 KiB
YAML

# vim: set filetype=yaml.ansible :
#
## Package: direnv
## Description: automatically read env files when changing directories
## Version: latest
## Methods: system
## Helpers: -
---
- name: Set direnv default facts # {{{
ansible.builtin.set_fact:
direnv:
methods:
- system
pkgname:
RedHat: direnv
Alpine: direnv
Debian: direnv
Darwin: direnv
# }}}
- name: Configure direnv
when:
- "'direnv' not in __configured"
block:
- name: Set direnv install method
when:
- direnv_imethod is undefined
ansible.builtin.set_fact:
direnv_imethod: "{{ imethod if imethod in direnv.methods else direnv.methods[0] }}"
- name: Append direnv to pkg_sys
when:
- direnv_imethod == "system"
block:
- name: Queue direnv system install
ansible.builtin.set_fact:
pkg_sys: "{{ pkg_sys + [direnv.pkgname[os_family]] }}"
- name: Finalise direnv system install
ansible.builtin.set_fact:
direnv_install: "{{ direnv_imethod }}={{ direnv.pkgname[os_family] }}"
- name: Finalize direnv configuration
ansible.builtin.set_fact:
__configured: "{{ __configured | combine( { 'direnv': direnv_install } ) }}"