--- - name: Create working directory ansible.builtin.tempfile: state: directory register: nvim_work_dir - name: Set install variables ansible.builtin.set_fact: # yamllint disable-line rule:line-length nvim_url: "{{ 'https://github.com/neovim/neovim/releases/download/' + nvim_release_stream | default('nightly') + '/nvim-' + nvim_platform | default('linux64') + '.tar.gz' }}" nvim_checksum: "{{ 'sha256:' + nvim_url + '.sha256sum' }}" nvim_archive_dest: "{{ nvim_work_dir.path + '/nvim.tar.gz' }}" nvim_unpacked_dest: "{{ nvim_work_dir.path + '/nvim-unpacked' }}" - name: Download neovim archive from releases become: true ansible.builtin.get_url: url: "{{ nvim_url }}" checksum: "{{ nvim_checksum }}" dest: "{{ nvim_archive_dest }}" mode: 0644 - name: Extract neovim archive become: true ansible.builtin.unarchive: src: "{{ nvim_archive_dest }}" dest: "{{ nvim_unpacked_dest }}" - name: Copy neovim files into place become: true ansible.posix.synchronize: src: "{{ nvim_unpacked_dest }}" dest: "{{ nvim_sync_dest_dir | default('/usr/') }}"