Files
rebbarb/.devcontainer/Dockerfile
T
Roflin db457a02c3 Add component datasheets for re-bba-rb board (via LFS)
Store datasheets for the parts actually placed in the current design,
grouped under hardware/re-bba-rb/datasheets/ by sheet (fpga, power,
usb, ethernet). Filenames normalised to the part MPN. All tracked
through git-lfs per .gitattributes (*.pdf).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-15 20:18:26 +02:00

45 lines
1.4 KiB
Docker

FROM debian:sid-slim
RUN apt-get update && apt-get install -y --no-install-recommends \
ca-certificates \
git \
git-lfs \
python3 \
python3-venv \
python3-pip \
yosys \
nextpnr-ice40 \
fpga-icestorm \
nodejs npm \
graphviz \
poppler-utils \
kicad \
kicad-libraries \
&& rm -rf /var/lib/apt/lists/*
# Debian marks the system Python as externally-managed (PEP 668), so install
# project deps into a venv. /opt/venv is first on PATH, so `python`/`pip` resolve
# to it for all users.
ENV VIRTUAL_ENV=/opt/venv
RUN python3 -m venv "$VIRTUAL_ENV"
ENV PATH="$VIRTUAL_ENV/bin:$PATH"
RUN npm install -g @anthropic-ai/claude-code
COPY requirements.txt /tmp/requirements.txt
RUN pip install --no-cache-dir -r /tmp/requirements.txt
RUN useradd -m -u 1000 -s /bin/bash vscode
USER vscode
# KiCad global library tables (copied from the installed templates) so kicad-cli
# can run the library-parity DRC/ERC checks. Without these, every standard
# footprint/symbol reports "library not configured". KiCad's built-in defaults
# resolve the ${KICAD10_*_DIR} paths inside the templates, so no env vars needed.
RUN mkdir -p /home/vscode/.config/kicad/10.0 \
&& cp /usr/share/kicad/template/fp-lib-table /home/vscode/.config/kicad/10.0/fp-lib-table \
&& cp /usr/share/kicad/template/sym-lib-table /home/vscode/.config/kicad/10.0/sym-lib-table
WORKDIR /workspace