- name: Download Neovim PPA signing key become: true apt_key: keyserver: keyserver.ubuntu.com id: 9DBB0BE9366964F134855E2255F96FCF8231B6DD keyring: /etc/apt/trusted.gpg.d/neovim.gpg - name: Install Neovim PPA become: true apt_repository: repo: "deb [signed-by=/etc/apt/trusted.gpg.d/neovim.gpg] https://ppa.launchpadcontent.net/neovim-ppa/unstable/ubuntu {{ distribution_release }} main" register: apt_repository - name: Update APT cache become: true apt: update_cache: true when: apt_repository.changed - name: Install Neovim become: true apt: name: neovim - name: Create configuration directory file: path: ~/.config/nvim state: directory - name: Copy init.lua copy: src: "{{ role_path }}/files/init.lua" dest: ~/.config/nvim/init.lua - name: Create plugin directory file: path: ~/.config/nvim/plugin state: directory recurse: true - name: Copy plugin configuration files copy: src: "{{ role_path }}/files/plugin/" dest: ~/.config/nvim/plugin - name: Create lua directory file: path: ~/.config/nvim/lua state: directory recurse: true - name: Copy lua files copy: src: "{{ role_path }}/files/lua/" dest: ~/.config/nvim/lua - name: Install python-lsp-server pip: name: - "python-lsp-server[all]" - name: Clone packer repository git: repo: https://github.com/wbthomason/packer.nvim depth: 1 dest: ~/.local/share/nvim/site/pack/packer/start/packer.nvim - name: Install terraform-ls become: true apt: pkg: terraform-ls - name: Set default applications ini_file: path: ~/.config/mimeapps.list section: "Default Applications" option: "{{ item }}" value: "nvim.desktop" no_extra_spaces: true loop: "{{ default_apps }}" - name: Copy neovim.bashrc copy: src: "{{ role_path }}/files/neovim.bashrc" dest: ~/.bashrc.d/neovim.bashrc