mirror of
https://github.com/EthanShoeDev/fressh.git
synced 2026-01-10 05:42:50 +00:00
34 lines
1.1 KiB
Docker
34 lines
1.1 KiB
Docker
# syntax=docker/dockerfile:1.4
|
|
FROM nixos/nix:latest
|
|
|
|
RUN mkdir -p /etc/nix && \
|
|
echo 'experimental-features = nix-command flakes' > /etc/nix/nix.conf && \
|
|
echo 'accept-flake-config = true' >> /etc/nix/nix.conf
|
|
|
|
WORKDIR /workspace
|
|
|
|
ENV PNPM_STORE_PATH=/pnpm/store
|
|
|
|
COPY flake.nix flake.lock ./
|
|
RUN nix develop -c true
|
|
|
|
COPY pnpm-lock.yaml ./
|
|
COPY patches/* ./patches/
|
|
RUN --mount=type=cache,target=/pnpm/store,id=fressh-pnpm,sharing=locked \
|
|
nix develop -c pnpm fetch
|
|
|
|
COPY package.json pnpm-workspace.yaml ./
|
|
COPY apps/mobile/package.json ./apps/mobile/
|
|
COPY apps/web/package.json ./apps/web/
|
|
COPY packages/react-native-uniffi-russh/package.json ./packages/react-native-uniffi-russh/
|
|
COPY packages/react-native-xtermjs-webview/package.json ./packages/react-native-xtermjs-webview/
|
|
COPY packages/assets/package.json ./packages/assets/
|
|
# RUN --mount=type=cache,target=/pnpm/store,id=fressh-pnpm,sharing=locked \
|
|
# nix develop -c pnpm install --frozen-lockfile --offline
|
|
|
|
COPY . .
|
|
RUN --mount=type=cache,target=/pnpm/store,id=fressh-pnpm,sharing=locked \
|
|
nix develop -c pnpm install --frozen-lockfile
|
|
|
|
CMD ["nix", "develop"]
|