Initial: luochen570-cli Docker image with zsh+zinit+NvChad+CLI tools

- Alpine-based Docker image
- zsh + zinit + Powerlevel10k
- zsh-autosuggestions, fast-syntax-highlighting
- CLI tools: yazi, eza, fzf, duf, ncdu, bat, tree, tmux
- NvChad (neovim IDE config)
- Weekly Gitea Actions build workflow (multi-arch)
- Gitea Container Registry publishing
This commit is contained in:
luochen570
2026-07-14 23:20:14 +08:00
commit 378ec90d1e
6 changed files with 2156 additions and 0 deletions

38
Dockerfile Normal file
View File

@@ -0,0 +1,38 @@
# luochen570-cli - Alpine-based CLI toolkit
FROM alpine:latest
LABEL org.opencontainers.image.title="luochen570-cli"
LABEL org.opencontainers.image.description="Alpine-based CLI toolkit: zsh+zinit plugins, NvChad, and common CLI tools"
LABEL org.opencontainers.image.source="https://git.luochen570.cn/luochen570/luochen570-cli"
# ---- Install Alpine packages ----
RUN apk add --no-cache \
# Core
zsh git curl ca-certificates openssl shadow-utils \
# CLI tools
eza fzf duf ncdu yazi bat tree \
# neovim (for NvChad)
neovim \
# runtime deps
tmux
# ---- Set up zinit (zsh plugin manager) ----
ENV ZINIT_HOME=/root/.local/share/zinit/zinit.git
RUN mkdir -p "$(dirname "$ZINIT_HOME")" \
&& git clone --depth 1 https://github.com/zdharma-continuum/zinit.git "$ZINIT_HOME"
# ---- Copy zsh configs ----
COPY configs/.zshrc /root/.zshrc
COPY configs/.p10k.zsh /root/.p10k.zsh
# ---- Pre-install zinit plugins ----
RUN zsh -c 'source /root/.zshrc 2>/dev/null; zinit update --all 2>/dev/null || true'
# ---- Set up NvChad (neovim IDE config) ----
RUN git clone --depth 1 https://github.com/NvChad/starter /root/.config/nvim \
&& rm -rf /root/.config/nvim/.git
# ---- Set default shell ----
SHELL ["/bin/zsh", "-c"]
ENV SHELL=/bin/zsh
CMD ["/bin/zsh"]