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:
38
Dockerfile
Normal file
38
Dockerfile
Normal 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"]
|
||||
Reference in New Issue
Block a user