From 6e5f253fd2767b25876eb40e3ad72b1c9a9ed440 Mon Sep 17 00:00:00 2001 From: Tomas Mirchev Date: Tue, 1 Oct 2024 07:34:35 +0200 Subject: [PATCH] nvim --- web-stack/Dockerfile | 35 +++++++++++++++++++++++++++++++++-- web-stack/install-tools.sh | 5 ++++- 2 files changed, 37 insertions(+), 3 deletions(-) diff --git a/web-stack/Dockerfile b/web-stack/Dockerfile index 1c8d710..7fca4d8 100644 --- a/web-stack/Dockerfile +++ b/web-stack/Dockerfile @@ -1,11 +1,11 @@ -FROM ubuntu +ARG VARIANT="bookworm" +FROM debian:${VARIANT} RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ && apt-get -y install --no-install-recommends \ ca-certificates \ zsh \ vim \ - neovim \ tmux \ curl \ wget \ @@ -16,10 +16,41 @@ RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ libssl-dev \ openssh-client \ sudo \ + luarocks \ + fd-find \ + ripgrep \ + locales \ && apt-get autoremove -y \ && apt-get clean -y \ && rm -rf /var/lib/apt/lists/* +# Install Neovim +ENV TREE_SITTER_VERSION="0.23.1" +ENV TREE_SITTER_URL="https://github.com/tree-sitter/tree-sitter/releases/download/v${TREE_SITTER_VERSION}/tree-sitter-linux-arm64.gz" +ENV NVIM_VERSION="0.10.0" +ENV NVIM_URL="https://gitea.tomastm.com/tomas.mirchev/neovim/releases/download/v${NVIM_VERSION}/nvim-linux-arm64.deb" + +RUN set -ex \ + && mkdir -p /tmp/downloads \ + && cd /tmp/downloads \ + # Install tree-sitter + && wget -O tree-sitter.gz ${TREE_SITTER_URL} \ + && gzip -d tree-sitter.gz \ + && chmod +x tree-sitter \ + && mv tree-sitter /usr/local/bin/ \ + # Install Neovim + && wget -O nvim.deb ${NVIM_URL} \ + && apt-get install -y ./nvim.deb \ + # Clean up + && rm -rf /tmp/downloads + +ENV LANG=en_US.UTF-8 +ENV LC_ALL=en_US.UTF-8 +ENV LC_CTYPE=en_US.UTF-8 + +RUN sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen \ + && locale-gen + ARG UID=1000 ARG GID=1000 diff --git a/web-stack/install-tools.sh b/web-stack/install-tools.sh index 0a518e5..1ec6170 100644 --- a/web-stack/install-tools.sh +++ b/web-stack/install-tools.sh @@ -22,4 +22,7 @@ nvm install 22 corepack prepare npm --activate corepack prepare yarn --activate corepack prepare pnpm --activate -corepack disable +# corepack disable +corepack enable npm +corepack enable pnpm +corepack enable yarn