From 51d2a355495925e51433c87d379d3b505d1f62b1 Mon Sep 17 00:00:00 2001 From: Price Hiller Date: Mon, 1 Aug 2022 21:03:44 -0500 Subject: [PATCH] feat: add neovim install --- roles/nvim/tasks/install-nvim.yml | 33 +++++++++++++++++++++++++++++++ roles/nvim/tasks/main.yml | 15 ++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 roles/nvim/tasks/install-nvim.yml diff --git a/roles/nvim/tasks/install-nvim.yml b/roles/nvim/tasks/install-nvim.yml new file mode 100644 index 0000000..3c49555 --- /dev/null +++ b/roles/nvim/tasks/install-nvim.yml @@ -0,0 +1,33 @@ +--- +- 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/') }}" diff --git a/roles/nvim/tasks/main.yml b/roles/nvim/tasks/main.yml index 8f245fa..c6a508e 100644 --- a/roles/nvim/tasks/main.yml +++ b/roles/nvim/tasks/main.yml @@ -1,2 +1,17 @@ --- # tasks file for nvim +- name: Check unix os + ansible.builtin.command: uname + ignore_errors: true + changed_when: false + register: uname + +- name: Install Neovim for Linux + ansible.builtin.include_tasks: install-nvim.yml + when: uname.stdout == 'Linux' + +- name: Install Neovim for MacOS + ansible.builtin.include_tasks: install-nvim.yml + vars: + nvim_platform: "macos" + when: uname.stdout == 'Darwin'