···11+# Local development Dockerfile using nixery.dev
22+# Based on .tangled/workflows/build.yml configuration
33+44+# Use nixery to get all the dependencies from the workflow
55+FROM nixery.dev/shell/stdenv/findutils/binutils/libunwind/ncurses/opam/git/gawk/gnupatch/gnum4/gnumake/gnutar/gnused/gnugrep/diffutils/gzip/bzip2/gcc/ocaml/pkg-config
66+77+# Set working directory
88+WORKDIR /workspace
99+1010+# Copy the repository contents
1111+COPY . .
1212+1313+# Ensure list-packages.sh is executable
1414+RUN chmod +x list-packages.sh
1515+1616+# Initialize opam without sandboxing (as per workflow)
1717+RUN opam init --disable-sandboxing -a -y
1818+1919+# Add the aoah-overlay repository
2020+RUN opam repository add aoah-overlay .
2121+2222+# Install packages with tests
2323+# Note: This step is commented out to allow interactive development
2424+# Uncomment to pre-install packages in the image
2525+# RUN opam install --confirm-level=unsafe-yes -v --with-test $(./list-packages.sh)
2626+2727+# Set up shell environment for interactive use
2828+ENV OPAM_SWITCH_PREFIX=/root/.opam/default
2929+ENV PATH=/root/.opam/default/bin:$PATH
3030+3131+# Default command opens a shell for interactive development
3232+CMD ["/bin/sh"]