Files
devcontainer/containers/base/Containerfile
Job79 62dd80a655
Some checks failed
Build containers / changes (push) Successful in 3s
Build containers / base-image (push) Failing after 13s
Build containers / dependent-images (go) (push) Has been skipped
Build containers / dependent-images (infra) (push) Has been skipped
Build containers / dependent-images (php) (push) Has been skipped
feat: use go from go.dev and switch to zig as c compiler
2026-03-19 20:32:01 +01:00

36 lines
1.6 KiB
Docker

FROM quay.io/fedora/fedora:44
# === install system packages ===
RUN --mount=type=cache,id=dnf-cache,target=/var/cache/libdnf5 \
dnf update -y && \
dnf -y --setopt=keepcache=1 --setopt=install_weak_deps=False install \
bash-completion git-core fzf curl awk jq fd-find unzip which \
host-spawn \
npm wl-copy gcc
RUN LAZYGIT_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | jq -r .tag_name | sed 's/^v//') && \
curl -sL "https://github.com/jesseduffield/lazygit/releases/latest/download/lazygit_${LAZYGIT_VERSION}_linux_x86_64.tar.gz" | tar xz -C /usr/local/bin lazygit && \
curl -sL "https://github.com/jorgerojas26/lazysql/releases/latest/download/lazysql_Linux_x86_64.tar.gz" | tar xz -C /usr/local/bin lazysql && \
curl -sL "https://github.com/neovim/neovim/releases/download/nightly/nvim-linux-x86_64.tar.gz" | tar xz -C /usr/local --strip-components=1 && \
GO_VERSION=$(curl -sL "https://go.dev/VERSION?m=text" | head -n 1 | tr -d '\r\n') && \
curl -sL "https://go.dev/dl/${GO_VERSION}.linux-amd64.tar.gz" | tar xz -C /home/user/test/ --strip-components=2 go/bin/go go/bin/gofmt
COPY config/bin /usr/local/bin
# === setup user ===
RUN useradd -ms /bin/bash user && \
echo 'user ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/user && \
mkdir -p /run/user/1000 && \
chown user:user /run/user/1000
USER user
WORKDIR /home/user
RUN mkdir -p .config .local .cache && \
git clone https://git.plabble.org/Job79/neovim-config.git .config/nvim
COPY --chown=user:user config/bashrc .bashrc
COPY --chown=user:user config/git .config/git/config
VOLUME /home/user