From 8059a02b4b90e743a8e96f123a8eb62096f023df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tuna=20Alika=C5=9Fifo=C4=9Flu?= Date: Tue, 21 Feb 2023 17:00:29 +0300 Subject: [PATCH] fix(docker): change base image to `lua_ls` The base image is changed from `anatolelucet/neovim` to `ubuntu:latest` to fix the installation issue of `lua_ls`. With this change, manual installation of NeoVim became necessary. It is handled by `tar` binary installation method. Branch name can be changed in the `Dockerfile`. In addition headless commands are fixed to wait for installation of desired LSP list and TS list. Fixes #1 --- Dockerfile | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/Dockerfile b/Dockerfile index 13dbcd2d..5fab625c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,27 +1,36 @@ -FROM anatolelucet/neovim:nightly - -WORKDIR /root/.config/nvim +FROM ubuntu:latest # Install dependencies -RUN apk add --update \ - bash \ +RUN apt update && apt install -y \ curl \ wget \ gzip \ unzip \ git \ npm \ - alpine-sdk \ - openssh-client \ python3 \ cargo \ ripgrep \ - fd + fd-find + +# Installation Settings +# branch can be nightly +ENV BRANCH=nightly +ENV LSP_LIST='lua-language-server' +ENV TS_LIST='c cpp go lua python rust tsx typescript help vim' + +# Install NeoVim +RUN wget https://github.com/neovim/neovim/releases/download/${BRANCH}/nvim-linux64.tar.gz +RUN tar xzvf nvim-linux64.tar.gz +ENV PATH="/nvim-linux64/bin:${PATH}" # Copy files +WORKDIR /root/.config/nvim RUN mkdir -p /root/.config/nvim COPY . /root/.config/nvim # Install nvim plugins and lsp servers -RUN nvim --headless "+Lazy! install" +"MasonInstall pyright" +qa +RUN nvim --headless "+Lazy! install" +"MasonInstall ${LSP_LIST}" +qa +RUN nvim --headless +"TSUpdateSync ${TS_LIST}" +qa +CMD [ "/bin/bash" ]