--- - 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: item.path | regex_search('\.go$') is not defined 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