FROM registry.fedoraproject.org/fedora:41

ENV COREPACK_ENABLE_DOWNLOAD_PROMPT=0
ENV LANG=en_US.UTF-8

# Core toolchain + interactive/QoL CLI tooling. Everything below is in the
# default Fedora repos (no COPR needed). The QoL set mirrors the user's Panama
# workstation setup so the terminal feels like a real dev box for everyone.
RUN dnf install -y --setopt=install_weak_deps=False --nodocs \
    bash \
    bash-completion \
    bat \
    bubblewrap \
    ca-certificates \
    curl \
    eza \
    fd-find \
    findutils \
    fzf \
    gcc \
    gcc-c++ \
    gh \
    git \
    glibc-langpack-en \
    gum \
    gzip \
    jq \
    less \
    make \
    ncurses \
    neovim \
    nodejs \
    nodejs-npm \
    openssh-clients \
    procps-ng \
    python3 \
    python3-pip \
    ripgrep \
    tar \
    tmux \
    unzip \
    wget \
    which \
    zoxide \
  && dnf clean all \
  && rm -rf /var/cache/dnf

# Package managers + pinned agent CLIs (kept identical to the prior image).
# Fedora's nodejs-npm doesn't ship corepack, so install pnpm/yarn via npm.
RUN npm install -g pnpm yarn bun@1.3.10 opencode-ai@1.17.9 @openai/codex@0.142.0 @anthropic-ai/claude-code@2.1.207 \
  && npm cache clean --force

# oh-my-posh prompt (binary only; we ship our own /etc/spoon/omp.json theme).
RUN curl -fsSL https://ohmyposh.dev/install.sh | bash -s -- -d /usr/local/bin \
  && oh-my-posh version

# Neutral system-wide defaults: /etc/profile.d/spoon.sh, /etc/tmux.conf, theme.
COPY docker/agent-job-rootfs/ /

WORKDIR /workspace

CMD ["bash"]
