--- - name: Install dependencies tags: - install ansible.builtin.package: name: - neovim - git - name: Setup config dirctories tags: - nvim - config ansible.builtin.file: mode: "{{ item.mode }}" path: "{{ home }}/{{ item.path }}" state: directory with_community.general.filetree: - ../files loop_control: label: "{{ item.path }}" when: item.state == 'directory' - name: Copy config {{ context }} tags: - nvim - config ansible.builtin.copy: src: "{{ item.src }}" dest: "{{ home }}/{{ item.path }}" mode: "{{ item.mode }}" with_community.general.filetree: - ../files loop_control: label: "{{ item.path }}" when: item.state == 'file' - name: Configure neovim tags: - config - nvim ansible.builtin.git: repo: https://github.com/morten-olsen/nvim dest: "{{ home }}/Projects/private/nvim" accept_newhostkey: true clone: true update: true force: true - name: Ensure dir tags: - config - nvim ansible.builtin.file: path: "{{ home }}/.config" state: directory mode: "0755" - name: Setup nvim link tags: - config - nvim ansible.builtin.file: src: "{{ home }}/Projects/private/nvim" dest: "{{ home }}/.config/nvim" state: link - name: Prepare neovim tags: - config - nvim register: nviminstall changed_when: nviminstall.stdout != '' ansible.builtin.shell: nvim --headless +q args: executable: /bin/bash