Add neovim support in tacker installer

Introduce neovim [1], an enhanced vim, instead of vim because of easy
installation and better performance.

[1] https://neovim.io/

Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
Change-Id: Idfd42f1433c9a715ba0190838a557335e19533f4
This commit is contained in:
Yasufumi Ogawa 2023-04-02 09:07:29 +09:00
parent 05fe9fa42c
commit 5c20d34fa7
8 changed files with 88 additions and 6 deletions

View File

@ -100,3 +100,12 @@ $ ./stack.sh
See instruction how to configure `local.conf` described in See instruction how to configure `local.conf` described in
[DevStack Quick Start](https://docs.openstack.org/devstack/latest/). [DevStack Quick Start](https://docs.openstack.org/devstack/latest/).
### Editor support
Although you can use any editors on the setup VM, it provides `vim` and
`neovim` with minimal configurations for LSP.
You can choose the editor by configuring parameters related vim
in `group_vars/all.yml`, so turn it `false` if you don't use the
support.

View File

@ -16,10 +16,13 @@ fixed_range: 10.4.128.0/20
# 2. Configure optional tools on controller node # 2. Configure optional tools on controller node
# Use the latest stable Neovim.
use_neovim: true
# Use the latest vim on `ppa:jonathonf/vim`, and use plugins with # Use the latest vim on `ppa:jonathonf/vim`, and use plugins with
# vim-plug. # vim-plug.
use_vim_latest: true use_vim_latest: false
use_vim_extra_plugins: true use_vim_extra_plugins: false
# Clone tacker in addition to devstack. # Clone tacker in addition to devstack.
use_tacker: true use_tacker: true

View File

@ -1,15 +1,25 @@
--- ---
- name: install basic packages - name: install python and libs
become: yes become: yes
apt: name={{ item }} update_cache=yes apt: name={{ item }} update_cache=yes
with_items: with_items:
- python3 - python3
- python3-dev - python3-dev
- python3-pip - python3-pip
- bridge-utils
- name: install git tools
become: yes
apt: name={{ item }}
with_items:
- git - git
- git-review - git-review
- name: install networking tools
become: yes
apt: name={{ item }}
with_items:
- bridge-utils
- name: upgrade apt packages - name: upgrade apt packages
become: yes become: yes
apt: apt:

View File

@ -14,6 +14,9 @@
- include: vim_extra_plugins.yml - include: vim_extra_plugins.yml
when: use_vim_extra_plugins == true when: use_vim_extra_plugins == true
- include: neovim.yml
when: use_neovim == true
- include: devstack.yml - include: devstack.yml
- include: setup_tacker.yml - include: setup_tacker.yml

View File

@ -0,0 +1,22 @@
---
- name: install neovim
become: yes
unarchive:
src=https://github.com/neovim/neovim/releases/download/stable/nvim-linux64.tar.gz
dest=/usr/local
remote_src=yes
- name: set PATH for '.local/bin'
lineinfile:
line="export PATH=/usr/local/nvim-linux64/bin:$PATH"
dest={{ ansible_env.HOME }}/.bashrc
- name: install latest nodejs for nvim coc
become: yes
shell: curl -sL install-node.vercel.app | sudo bash -s -- --yes
- name: install latest yarn for nvim coc
become: yes
npm:
name: yarn
global: yes

View File

@ -1,15 +1,25 @@
--- ---
- name: install basic packages - name: install python and libs
become: yes become: yes
apt: name={{ item }} update_cache=yes apt: name={{ item }} update_cache=yes
with_items: with_items:
- python3 - python3
- python3-dev - python3-dev
- python3-pip - python3-pip
- bridge-utils
- name: install git tools
become: yes
apt: name={{ item }}
with_items:
- git - git
- git-review - git-review
- name: install networking tools
become: yes
apt: name={{ item }}
with_items:
- bridge-utils
- name: upgrade apt packages - name: upgrade apt packages
become: yes become: yes
apt: apt:

View File

@ -14,6 +14,9 @@
- include: vim_extra_plugins.yml - include: vim_extra_plugins.yml
when: use_vim_extra_plugins == true when: use_vim_extra_plugins == true
- include: neovim.yml
when: use_neovim == true
- include: devstack.yml - include: devstack.yml
- include: setup_tacker.yml - include: setup_tacker.yml

View File

@ -0,0 +1,22 @@
---
- name: install neovim
become: yes
unarchive:
src=https://github.com/neovim/neovim/releases/download/stable/nvim-linux64.tar.gz
dest=/usr/local
remote_src=yes
- name: set PATH for '.local/bin'
lineinfile:
line="export PATH=/usr/local/nvim-linux64/bin:$PATH"
dest={{ ansible_env.HOME }}/.bashrc
- name: install latest nodejs for nvim coc
become: yes
shell: curl -sL install-node.vercel.app | sudo bash -s -- --yes
- name: install latest yarn for nvim coc
become: yes
npm:
name: yarn
global: yes