Skip to content

Commit 1a7712b

Browse files
committed
feat: Dockerfile for reproducible dev/ci environment
1 parent 95b7a00 commit 1a7712b

1 file changed

Lines changed: 33 additions & 0 deletions

File tree

Dockerfile

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
FROM debian:trixie
2+
3+
ENV DEBIAN_FRONTEND=noninteractive
4+
5+
# Base system environment
6+
RUN apt-get update \
7+
&& apt-get install -y --no-install-recommends \
8+
build-essential \
9+
curl \
10+
wget \
11+
npm \
12+
luarocks \
13+
ca-certificates \
14+
&& rm -rf /var/lib/apt/lists/*
15+
16+
# Neovim
17+
RUN set -eux; \
18+
mkdir -p /tmp/nvim; \
19+
wget -O /tmp/nvim/nvim.tar.gz https://github.com/neovim/neovim/releases/download/stable/nvim-linux-x86_64.tar.gz; \
20+
tar -xzf /tmp/nvim/nvim.tar.gz -C /tmp/nvim; \
21+
cp -r /tmp/nvim/nvim-linux-x86_64/bin/* /usr/local/bin/; \
22+
cp -r /tmp/nvim/nvim-linux-x86_64/lib/* /usr/local/lib/; \
23+
cp -r /tmp/nvim/nvim-linux-x86_64/share/* /usr/local/share/; \
24+
rm -rf /tmp/nvim
25+
26+
# luacheck
27+
RUN luarocks install luacheck
28+
29+
# stylua wrapper
30+
RUN set -eux; \
31+
printf '#!/bin/sh\nnpx --yes @johnnymorganz/stylua-bin "$@"\n' > /usr/local/bin/stylua; \
32+
chmod +x /usr/local/bin/stylua; \
33+
npx --yes @johnnymorganz/stylua-bin --help >/dev/null 2>&1

0 commit comments

Comments
 (0)