# 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: - source - system pkgname: RedHat: direnv Alpine: direnv Debian: direnv Darwin: direnv install_url: github.com/direnv/direnv pkg_deps: - go version: "{{ direnv_version | default('latest') }}" # }}} - 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: Set direnv build facts when: - direnv_imethod == 'source' block: - name: Set direnv source install facts ansible.builtin.set_fact: direnv_go_install: url: "{{ direnv.install_url }}@{{ direnv.version }}" bind: "{{ path_bin }}/direnv" - name: Finalise direnv source install ansible.builtin.set_fact: direnv_install: "{{ direnv_imethod }}={{ direnv_go_install }}" - name: Finalize direnv configuration ansible.builtin.set_fact: __configured: "{{ __configured | combine( { 'direnv': direnv_install } ) }}"