particle-os/Containerfile.desktop
robojerk f9fb8d3bd0 Fix critical PATH issues and add related projects to README
- Fixed sfdisk PATH issue in Containerfile.base (sfdisk is in /usr/sbin)
- Updated Containerfile.minimal to use full path for grub-install
- Enhanced test-bootc-deployment.sh to properly check utility locations
- Added comprehensive section about related projects (apt-ostree, deb-bootupd, debian-bootc-corrected)
- Updated validation script to handle Debian-specific utility locations
- Improved error messages with specific solutions for PATH and utility issues

This addresses the critical requirements from scope.md regarding disk utilities
and PATH environment variables for bootc deployment.
2025-08-10 18:15:04 -07:00

72 lines
2.5 KiB
Desktop File

# Particle-OS Desktop Containerfile
# Builds on the minimal image and adds desktop environment
# This creates the Phase 3 deliverable: Debian Aurora/Bazzite equivalent
FROM particle-os:minimal
# Install desktop environment (KDE Plasma)
RUN apt-get update && apt-get install -y \
# Display manager
sddm \
# KDE Plasma desktop
task-kde-desktop \
# Additional desktop applications
firefox-esr \
konsole \
dolphin \
kate \
# Multimedia support
vlc \
# Office applications
libreoffice \
# Additional utilities
gparted \
# Desktop-specific OSTree packages
ostree-grub2 \
&& rm -rf /var/lib/apt/lists/*
# Configure display manager
RUN systemctl enable sddm
# Set up user environment
RUN mkdir -p /home/particle/.config && \
chown -R particle:particle /home/particle
# Configure desktop environment
RUN echo "export DESKTOP_SESSION=plasma" >> /home/particle/.profile && \
echo "export KDEWM=kwin" >> /home/particle/.profile
# Update OSTree configuration for desktop variant
RUN echo "OSTREE_OSVARIANT=desktop" >> /etc/ostree/ostree.conf && \
echo "OSTREE_SERVICES=sddm" >> /etc/ostree/ostree.conf && \
echo "OSTREE_DESKTOP=plasma" >> /etc/ostree/ostree.conf
# Create desktop-specific OSTree deployment structure
RUN mkdir -p /sysroot/ostree/deploy/particle-os/desktop/deploy && \
mkdir -p /sysroot/ostree/deploy/particle-os/desktop/var && \
mkdir -p /sysroot/ostree/deploy/particle-os/desktop/usr
# Set up desktop-specific systemd services
RUN systemctl enable sddm
# Label the image with OSTree-compliant labels
LABEL org.opencontainers.image.title="Particle-OS Desktop"
LABEL org.opencontainers.image.description="Desktop-focused Debian immutable OS"
LABEL org.opencontainers.image.version="0.1.0"
LABEL org.opencontainers.image.vendor="Particle-OS Project"
LABEL org.opencontainers.image.source="https://github.com/your-org/particle-os"
LABEL org.opencontainers.image.revision="0.1.0"
LABEL org.opencontainers.image.created="2024-01-01T00:00:00Z"
LABEL org.opencontainers.image.licenses="MIT"
LABEL org.opencontainers.image.ref.name="particle-os-desktop"
LABEL org.opencontainers.image.ostree.osname="particle-os"
LABEL org.opencontainers.image.ostree.osversion="0.1.0"
LABEL org.opencontainers.image.ostree.osvariant="desktop"
LABEL org.opencontainers.image.ostree.desktop="plasma"
# Health check
HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
CMD systemctl is-system-running && systemctl is-active sddm || exit 1
# Default command
CMD ["/bin/bash"]