coder (4b802534)

Published 2026-09-22 11:29:01 +02:00 by morten-olsen in envs/coder

Installation

docker pull code.olsen.cloud/envs/coder:4b802534
sha256:9f56f2ab778ea6744757e01a7a1a7fb95995c6bbcc9d3829fa654aa828868778

About this package

Official containerd image of Arch Linux, a simple, lightweight Linux distribution aimed for flexibility.

Image layers

LABEL org.opencontainers.image.title=Arch Linux base-devel Image
LABEL org.opencontainers.image.description=Official containerd image of Arch Linux, a simple, lightweight Linux distribution aimed for flexibility.
LABEL org.opencontainers.image.authors=Santiago Torres-Arias <santiago@archlinux.org> (@SantiagoTorres), Christian Rebischke <Chris.Rebischke@archlinux.org> (@shibumi), Justin Kromlinger <hashworks@archlinux.org> (@hashworks)
LABEL org.opencontainers.image.url=https://gitlab.archlinux.org/archlinux/archlinux-docker/-/blob/master/README.md
LABEL org.opencontainers.image.documentation=https://wiki.archlinux.org/title/Docker#Arch_Linux
LABEL org.opencontainers.image.source=https://gitlab.archlinux.org/archlinux/archlinux-docker
LABEL org.opencontainers.image.licenses=GPL-3.0-or-later
LABEL org.opencontainers.image.version=20260920.0.596911
LABEL org.opencontainers.image.revision=34b87485162b028c8d957bdcd2674359d883cd21
LABEL org.opencontainers.image.created=2026-09-20T00:09:21+00:00
COPY /rootfs/ / # buildkit
RUN /bin/sh -c ldconfig && sed -i '/BUILD_ID/a VERSION_ID=20260920.0.596911' /etc/os-release # buildkit
ENV LANG=C.UTF-8
CMD ["/usr/bin/bash"]
RUN pacman -Syu --noconfirm --disable-sandbox --needed archlinux-keyring && pacman -S --noconfirm --disable-sandbox --needed git && pacman -Scc --noconfirm
RUN git clone --depth 1 --branch "${DOTFILES_REF}" "${DOTFILES_REPO}" /opt/dotfiles
RUN mapfile -t pkgs < <(sed -e 's/#.*//' -e '/^[[:space:]]*$/d' /opt/dotfiles/profiles/base/packages/arch.txt) && printf 'installing %d packages\n' "${#pkgs[@]}" && pacman -S --noconfirm --disable-sandbox --needed "${pkgs[@]}" && pacman -Scc --noconfirm && rm -rf /var/cache/pacman/pkg/*
RUN useradd --uid "${USER_UID}" --create-home --shell /bin/zsh "${USERNAME}" && echo "${USERNAME} ALL=(ALL) NOPASSWD:ALL" > "/etc/sudoers.d/${USERNAME}" && chmod 0440 "/etc/sudoers.d/${USERNAME}"
RUN mkdir -p /etc/mise && excl_re="^[[:space:]]*\"?($(printf '%s' "${MISE_EXCLUDE}" | tr ',' '|'))\"?[[:space:]]*=" && grep -vE "${excl_re}" /opt/dotfiles/profiles/base/home/.config/mise/config.toml > /etc/mise/config.toml && cat /etc/mise/config.toml && mise install --yes && mise reshim && chmod -R a+rX /opt/mise
RUN pacman -S --noconfirm --disable-sandbox --needed kubectl && pacman -Scc --noconfirm
RUN chown -R ${USER_UID} /opt/dotfiles
RUN git clone --filter=blob:none --depth=1 --branch=stable https://github.com/folke/lazy.nvim.git "$HOME/.local/share/nvim/lazy/lazy.nvim"
RUN for i in 1 2 3; do XDG_CONFIG_HOME=/opt/dotfiles/profiles/base/home/.config timeout 900 nvim --headless "+Lazy! sync" +qa 2>&1 | tail -5; if ! compgen -G "$HOME/.local/share/nvim/lazy/*.cloning" > /dev/null; then break; fi; echo "lazy sync left partial clones; retrying ($i)"; done; if compgen -G "$HOME/.local/share/nvim/lazy/*.cloning" > /dev/null; then echo "FATAL: lazy sync still incomplete"; exit 1; fi
RUN XDG_CONFIG_HOME=/opt/dotfiles/profiles/base/home/.config timeout 600 nvim --headless -c 'lua vim.wait(240000, function() return false end)' -c qa 2>&1 | tail -5 || true
RUN ln -sf /opt/dotfiles/profiles/base/home/.tmux.conf "$HOME/.tmux.conf" && git clone --depth 1 https://github.com/tmux-plugins/tpm "$HOME/.tmux/plugins/tpm" && tmux new-session -d -s prewarm && tmux set-environment -g TMUX_PLUGIN_MANAGER_PATH "$HOME/.tmux/plugins/" && timeout 300 "$HOME/.tmux/plugins/tpm/bin/install_plugins" 2>&1 | tail -10 && tmux kill-server && rm -f "$HOME/.tmux.conf"
RUN mkdir -p /opt/home-seed && mv "/home/${USERNAME}/.local/share/nvim" /opt/home-seed/share-nvim && mv "/home/${USERNAME}/.tmux/plugins" /opt/home-seed/tmux-plugins && if [ -d "/home/${USERNAME}/.local/state/nvim" ]; then mv "/home/${USERNAME}/.local/state/nvim" /opt/home-seed/state-nvim; fi && nvim_n=$(find /opt/home-seed/share-nvim/lazy -mindepth 1 -maxdepth 1 -type d | wc -l) && tmux_n=$(find /opt/home-seed/tmux-plugins -mindepth 1 -maxdepth 1 -type d | wc -l) && echo "seeded: $nvim_n nvim plugins, $tmux_n tmux plugins" && if [ -n "${XDG_CONFIG_HOME+x}" ]; then echo "FATAL: XDG_CONFIG_HOME leaked into the image; nvim would load no config"; exit 1; fi && [ "$nvim_n" -ge 10 ] && [ "$tmux_n" -ge 4 ] && chmod -R a+rX /opt/home-seed && du -sh /opt/home-seed/*

Labels

Key Value
org.opencontainers.image.authors Santiago Torres-Arias <santiago@archlinux.org> (@SantiagoTorres), Christian Rebischke <Chris.Rebischke@archlinux.org> (@shibumi), Justin Kromlinger <hashworks@archlinux.org> (@hashworks)
org.opencontainers.image.created 2026-09-22T09:23:47Z
org.opencontainers.image.description Official containerd image of Arch Linux, a simple, lightweight Linux distribution aimed for flexibility.
org.opencontainers.image.documentation https://wiki.archlinux.org/title/Docker#Arch_Linux
org.opencontainers.image.licenses GPL-3.0-or-later
org.opencontainers.image.revision 4b8025342eb270d402b9088708b7f6595f8e1566
org.opencontainers.image.source https://code.olsen.cloud/envs/coder
org.opencontainers.image.title Arch Linux base-devel Image
org.opencontainers.image.url https://gitlab.archlinux.org/archlinux/archlinux-docker/-/blob/master/README.md
org.opencontainers.image.version 20260920.0.596911

Annotations

Key Value
com.docker.official-images.bashbrew.arch amd64
org.opencontainers.image.base.name scratch
org.opencontainers.image.created 2026-09-21T18:02:15Z
org.opencontainers.image.revision 40bf6d7fea891afa211c6ec66458b84aa979c39a
org.opencontainers.image.source https://gitlab.archlinux.org/archlinux/archlinux-docker.git#40bf6d7fea891afa211c6ec66458b84aa979c39a:.
org.opencontainers.image.url https://hub.docker.com/_/archlinux
org.opencontainers.image.version base-devel
Details
Container
2026-09-22 11:29:01 +02:00
0
OCI / Docker
linux/amd64
Santiago Torres-Arias <santiago@archlinux.org> (@SantiagoTorres), Christian Rebischke <Chris.Rebischke@archlinux.org> (@shibumi), Justin Kromlinger <hashworks@archlinux.org> (@hashworks)
GPL-3.0-or-later
1.1 GiB
Versions (8) View all
latest 2026-11-08
8e541249 2026-11-08
0abcdcf4 2026-09-22
4b802534 2026-09-22
b53974ee 2026-09-22