33 lines
1.0 KiB
YAML
33 lines
1.0 KiB
YAML
---
|
|
- name: Load DOTFILES_PATH environment variable
|
|
ansible.builtin.set_fact:
|
|
dotfiles_path: "{{ lookup('env', 'DOTFILES_PATH') }}"
|
|
|
|
- name: Ensure ~/.local/bin exists
|
|
ansible.builtin.file:
|
|
path: "{{ ansible_env.HOME }}/.local/bin"
|
|
state: directory
|
|
mode: "0755"
|
|
|
|
- name: Scan utils folder and create symlinks in ~/.local/bin
|
|
ansible.builtin.find:
|
|
paths: "{{ dotfiles_path }}/config/ansible/tasks/global/utils"
|
|
file_type: file
|
|
register: utils_files
|
|
|
|
- name: Create symlinks for utils scripts
|
|
ansible.builtin.file:
|
|
src: "{{ item.path }}"
|
|
dest: "{{ ansible_env.HOME }}/.local/bin/{{ item.path | basename }}"
|
|
state: link
|
|
loop: "{{ utils_files.files }}"
|
|
when: not item.path | regex_search('\.go$')
|
|
become: false
|
|
|
|
- name: Compile Go files and place binaries in ~/.local/bin
|
|
ansible.builtin.command:
|
|
cmd: go build -o "{{ ansible_env.HOME }}/.local/bin/{{ item.path | basename | regex_replace('\.go$', '') }}" "{{ item.path }}"
|
|
loop: "{{ utils_files.files }}"
|
|
when: item.path | regex_search('\.go$')
|
|
become: false
|