# Local development Dockerfile using nixery.dev # Based on .tangled/workflows/build.yml configuration # Use nixery to get all the dependencies from the workflow 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 # Set working directory WORKDIR /workspace # Copy the repository contents COPY . . # Ensure list-packages.sh is executable RUN chmod +x list-packages.sh # Initialize opam without sandboxing (as per workflow) RUN opam init --disable-sandboxing -a -y # Add the aoah-overlay repository RUN opam repository add aoah-overlay . # Install packages with tests # Note: This step is commented out to allow interactive development # Uncomment to pre-install packages in the image # RUN opam install --confirm-level=unsafe-yes -v --with-test $(./list-packages.sh) # Set up shell environment for interactive use ENV OPAM_SWITCH_PREFIX=/root/.opam/default ENV PATH=/root/.opam/default/bin:$PATH # Default command opens a shell for interactive development CMD ["/bin/sh"]