FROM archlinux:latest

# Update and install archiso + OrionOS build dependencies
RUN pacman -Syu --noconfirm && \
    pacman -S --noconfirm \
        archiso \
        base-devel \
        git \
        libx11 \
        libxft \
        libxfixes \
        libxext \
        libpng \
        dbus \
        pam \
        fontconfig \
        freetype2 \
        xorg-server \
        xorg-xinit \
        feh \
        picom \
        alsa-utils \
        ttf-dejavu \
        noto-fonts \
        pkgconf && \
    pacman -Scc --noconfirm

WORKDIR /build

# Copy OrionOS source
COPY . /build/orionos

# Build OrionOS components
RUN cd /build/orionos && make 2>&1 | tail -20

# Install binaries into the staging root that archiso will include
RUN cd /build/orionos && \
    install -Dm755 wm/orionwm              /build/orionos/iso/profile/airootfs/usr/local/bin/orionwm && \
    install -Dm755 deskbar/oriondeskbar    /build/orionos/iso/profile/airootfs/usr/local/bin/oriondeskbar && \
    install -Dm755 launcher/orionlauncher  /build/orionos/iso/profile/airootfs/usr/local/bin/orionlauncher && \
    install -Dm755 themes/orionwallpaper   /build/orionos/iso/profile/airootfs/usr/local/bin/orionwallpaper && \
    install -Dm755 orionnotify/orionnotify /build/orionos/iso/profile/airootfs/usr/local/bin/orionnotify && \
    install -Dm755 orionlock/orionlock     /build/orionos/iso/profile/airootfs/usr/local/bin/orionlock && \
    install -Dm755 orionshot/orionshot     /build/orionos/iso/profile/airootfs/usr/local/bin/orionshot && \
    install -Dm755 orionclip/orionclip     /build/orionos/iso/profile/airootfs/usr/local/bin/orionclip && \
    install -Dm755 orionpkg/orionpkg       /build/orionos/iso/profile/airootfs/usr/local/bin/orionpkg && \
    cp -r themes/OrionOS /build/orionos/iso/profile/airootfs/usr/share/themes/ && \
    install -Dm644 themes/picom.conf       /build/orionos/iso/profile/airootfs/etc/orionos/picom.conf

# Generate default wallpaper
RUN mkdir -p /build/orionos/iso/profile/airootfs/usr/share/orionos/wallpapers && \
    bash /build/orionos/themes/wallpapers/generate-default.sh 2>/dev/null && \
    cp -f /build/orionos/themes/wallpapers/orionos-default.png \
          /build/orionos/iso/profile/airootfs/usr/share/orionos/wallpapers/ 2>/dev/null || true

# Build the ISO
RUN mkarchiso -v \
    -w /tmp/iso-work \
    -o /output \
    /build/orionos/iso/profile

CMD ["/bin/bash"]
