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

99 lines
2.7 KiB
YAML

# vim: set filetype=yaml.ansible :
#
## Package: yazi
## Description: best tui filemanager
## Version: 26.1.22
## Methods: [source]
## Helpers: [cargo_build]
---
- name: Configure yazi installation # {{{
ansible.builtin.set_fact:
yazi:
methods:
- source
version: 26.1.22
git:
repo: https://github.com/sxyazi/yazi.git
version: v26.1.22
pkgname: yazi
pkg_depends:
- fd
- ripgrep
- fzf
- zoxide
build_depends:
RedHat:
- ImageMagick
- ffmpeg-free
- file
- jq
- oniguruma
- oniguruma-devel
- p7zip-plugins
- poppler
- wl-clipboard
- "@c-development"
- "@development-tools"
Darwin:
- ffmpeg
- file
- imagemagick
- jq
- oniguruma
- p7zip
- poppler
# }}}
- name: Configure yazi install
when:
- "'yazi' not in __configured"
block:
- name: Set yazi install method
when:
- yazi_imethod is undefined
ansible.builtin.set_fact:
yazi_imethod: "{{ imethod if imethod in yazi.methods else yazi.methods[0] }}"
- name: Configure yazi source install
when:
- yazi_imethod == 'source'
block:
- name: Configure yazi cargo build
ansible.builtin.set_fact:
yazi_src_install:
build_flags:
- --release
- --locked
name: "{{ yazi.pkgname }}"
git: "{{ yazi.git }}"
source_dir: "{{ d_cache.path }}/{{ yazi.pkgname }}"
version: "{{ yazi.version }}"
bin_output: "target/release/yazi"
bin_name: "yazi"
install_prefix: "{{ install_prefix }}"
files:
- to: bin/yazi
from: target/release/yazi
mode: '0755'
- to: bin/ya
from: target/release/ya
mode: '0755'
- name: Append yazi-fm pkg_deps
loop: "{{ yazi.pkg_depends }}"
loop_control:
loop_var: dep
ansible.builtin.include_tasks: "pkgs/{{ dep }}.yml"
- name: Append yazi to pkg_cargo_build
ansible.builtin.set_fact:
pkg_sys: "{{ pkg_sys + yazi.build_depends[ansible_os_family] }}"
pkg_cargo_build: "{{ pkg_cargo_build + [ yazi_src_install ] }}"
yazi_install: "{{ yazi_imethod }}={{ yazi_src_install }}"
- name: Finalise yazi configuration
when:
- __yazi_configured is undefined or
not __yazi_configured
ansible.builtin.set_fact:
__yazi_configured: true