diff --git a/roles/neovim/tasks/Darwin.yaml b/roles/neovim/tasks/Darwin.yaml index 8a1e201..2872eef 100644 --- a/roles/neovim/tasks/Darwin.yaml +++ b/roles/neovim/tasks/Darwin.yaml @@ -8,16 +8,4 @@ - the_silver_searcher state: latest -- name: clone config repo - git: - repo: git@code.infektor.net:config/vim.git - dest: ~/.config/nvim - version: master - -# TODO: - name: set repo email - -- name: install pip packages - pip: - name: '{{neovim_pip_packages}}' - state: latest - extra_args: --user +- include_tasks: unix.yaml diff --git a/roles/neovim/tasks/Debian-unstable.yaml b/roles/neovim/tasks/Debian-unstable.yaml new file mode 100644 index 0000000..79d54cd --- /dev/null +++ b/roles/neovim/tasks/Debian-unstable.yaml @@ -0,0 +1,11 @@ +--- +- name: install Debian-unstable apt packages + become: true + apt: + name: + - neovim + - clang-format + - clang-tidy + - clangd + - silversearcher-ag + state: latest diff --git a/roles/neovim/tasks/Debian.yaml b/roles/neovim/tasks/Debian.yaml index 59d142a..9bffcc9 100644 --- a/roles/neovim/tasks/Debian.yaml +++ b/roles/neovim/tasks/Debian.yaml @@ -1,28 +1,6 @@ --- -- name: install apt package - become: true - apt: - name: - - neovim - - clang-format - - clang-tidy - - clangd - - silversearcher-ag - state: latest - -- name: clone config repo - git: - repo: git@code.infektor.net:config/vim.git - dest: ~/.config/nvim - version: master - -# TODO: - name: set repo email - -- name: install pip packages - pip: - name: '{{neovim_pip_packages}}' - state: latest - extra_args: --user +- include_tasks: '{{ansible_distribution}}-{{ansible_distribution_version}}.yaml' +- include_tasks: 'unix.yaml' - name: nodejs get json containing latest version uri: diff --git a/roles/neovim/tasks/Ubuntu-18.04.yaml b/roles/neovim/tasks/Ubuntu-18.04.yaml new file mode 100644 index 0000000..6819157 --- /dev/null +++ b/roles/neovim/tasks/Ubuntu-18.04.yaml @@ -0,0 +1,34 @@ +--- +- name: get releases json from github + uri: + url: https://api.github.com/repos/neovim/neovim/releases + register: releases +- name: query the latest stable release + set_fact: + stable: '{{releases.json | json_query("[?tag_name==`stable`]")}}' +- name: query the nvim-linux64.deb.sha256sum asset + set_fact: + sha_asset: '{{stable[0].assets | json_query("[?name==`nvim-linux64.deb.sha256sum`]")}}' +- name: query the nvim-linux64.deb asset + set_fact: + deb_asset: '{{stable[0].assets | json_query("[?name==`nvim-linux64.deb`]")}}' +- name: create directory for downloads + file: + state: directory + path: ~/.cache/nvim/deb +- name: download nvim-linux64.deb with checksum + get_url: + url: '{{deb_asset[0].browser_download_url}}' + dest: ~/.cache/nvim/deb/nvim-linux64.deb + checksum: 'sha256:{{sha_asset[0].browser_download_url}}' + +- name: install nvim-linux64.deb package + become: true + apt: + deb: ~/.cache/nvim/deb/nvim-linux64.deb +# TODO: clangd, clang-format, clang-tidy +- name: install Ubuntu-18.04 apt packages + become: true + apt: + name: + - silversearcher-ag diff --git a/roles/neovim/tasks/unix.yaml b/roles/neovim/tasks/unix.yaml new file mode 100644 index 0000000..39ce262 --- /dev/null +++ b/roles/neovim/tasks/unix.yaml @@ -0,0 +1,14 @@ +--- +- name: clone config repo + git: + repo: git@code.infektor.net:config/vim.git + dest: ~/.config/nvim + version: master + +# TODO: - name: set repo email + +- name: install pip packages + pip: + name: '{{neovim_pip_packages}}' + state: latest + extra_args: --user