--- - name: Set vim variants to use ansible.builtin.set_fact: vim_variants: - vim - nvim # TODO vim-minimal for bsh # TODO Select those in a clever way - name: Create vim configuration directory ansible.builtin.file: state: directory path: "{{ ansible_user_dir }}/.config/{{ item }}" mode: u=rwx,g=rx,o=rx loop: "{{ vim_variants }}" - name: Install vim-plug ansible.builtin.get_url: url: https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim dest: "{{ ansible_user_dir }}/.config/vim/plug.vim" mode: u=rw,g=r,o=r - name: Install loader ansible.builtin.template: src: loader.j2 dest: "{{ ansible_user_dir }}/.config/vim/loader.vim" mode: u=rw,g=r,o=r - name: Install theme ansible.builtin.template: src: theme.j2 dest: "{{ ansible_user_dir }}/.config/vim/theme.vim" mode: u=rw,g=r,o=r tags: - color - name: Configure vim plugin list ansible.builtin.template: src: plugininstall.j2 dest: "{{ ansible_user_dir }}/.config/{{ variant }}/plugininstall.vim" mode: u=rw,g=r,o=r notify: - "{{ variant }} plugins changed" loop: "{{ vim_variants }}" loop_control: loop_var: variant - name: Configure vim ansible.builtin.template: src: init.vim.j2 dest: "{{ ansible_user_dir }}/.config/{{ variant }}/init.vim" mode: u=rw,g=r,o=r loop: "{{ vim_variants }}" loop_control: loop_var: variant