Initial commit
This commit is contained in:
commit
3326d796f0
87 changed files with 15792 additions and 0 deletions
127
containerfiles/Containerfile.debian-trixie-kde
Normal file
127
containerfiles/Containerfile.debian-trixie-kde
Normal file
|
|
@ -0,0 +1,127 @@
|
|||
# Particle OS - Debian Trixie with KDE Plasma Desktop
|
||||
# Phase 5.1: Real Desktop Environment Integration Testing
|
||||
|
||||
FROM debian:trixie
|
||||
|
||||
# Set environment variables
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
# Install essential packages first
|
||||
RUN apt-get update && apt-get install -y \
|
||||
# Core system packages
|
||||
systemd \
|
||||
systemd-sysv \
|
||||
dbus \
|
||||
sudo \
|
||||
# Network management
|
||||
network-manager \
|
||||
network-manager-gnome \
|
||||
# Package management
|
||||
apt-utils \
|
||||
ca-certificates \
|
||||
gnupg \
|
||||
# OSTree and bootc requirements
|
||||
ostree \
|
||||
# Kernel and boot
|
||||
linux-image-amd64 \
|
||||
linux-headers-amd64 \
|
||||
initramfs-tools \
|
||||
# Bootloader
|
||||
grub-efi-amd64 \
|
||||
grub-efi-amd64-bin \
|
||||
efibootmgr \
|
||||
# Filesystem utilities
|
||||
util-linux \
|
||||
parted \
|
||||
e2fsprogs \
|
||||
dosfstools \
|
||||
&& apt-get clean \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Install KDE Plasma Desktop Environment
|
||||
RUN apt-get update && apt-get install -y \
|
||||
# KDE Desktop Environment
|
||||
task-kde-desktop \
|
||||
kde-plasma-desktop \
|
||||
plasma-workspace \
|
||||
# Display Manager
|
||||
sddm \
|
||||
# Essential KDE Applications
|
||||
dolphin \
|
||||
konsole \
|
||||
kate \
|
||||
firefox-esr \
|
||||
# Audio support
|
||||
pulseaudio \
|
||||
pavucontrol \
|
||||
# Graphics support
|
||||
mesa-utils \
|
||||
# System utilities
|
||||
nano \
|
||||
vim \
|
||||
curl \
|
||||
wget \
|
||||
htop \
|
||||
less \
|
||||
# Cleanup
|
||||
&& apt-get clean \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Enable essential services
|
||||
RUN systemctl enable systemd-networkd \
|
||||
&& systemctl enable systemd-resolved \
|
||||
&& systemctl enable dbus \
|
||||
&& systemctl enable sddm \
|
||||
&& systemctl enable NetworkManager
|
||||
|
||||
# Create particle-os user with desktop access
|
||||
RUN useradd -m -G sudo,audio,video,plugdev particle-os \
|
||||
&& echo 'particle-os:particle-os' | chpasswd \
|
||||
&& echo 'particle-os ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
|
||||
|
||||
# Configure SDDM for auto-login (testing purposes)
|
||||
RUN mkdir -p /etc/sddm.conf.d \
|
||||
&& echo '[Autologin]' > /etc/sddm.conf.d/autologin.conf \
|
||||
&& echo 'User=particle-os' >> /etc/sddm.conf.d/autologin.conf \
|
||||
&& echo 'Session=plasma.desktop' >> /etc/sddm.conf.d/autologin.conf
|
||||
|
||||
# Set up OSTree configuration for bootc
|
||||
RUN mkdir -p /etc/ostree \
|
||||
&& echo '[core]' > /etc/ostree/ostree.conf \
|
||||
&& echo 'mode=bare-user-only' >> /etc/ostree/ostree.conf
|
||||
|
||||
# Configure system identification
|
||||
RUN echo 'PRETTY_NAME="Particle OS (Debian Trixie KDE)"' > /etc/os-release \
|
||||
&& echo 'NAME="Particle OS"' >> /etc/os-release \
|
||||
&& echo 'VERSION="1.0-kde"' >> /etc/os-release \
|
||||
&& echo 'ID=particle-os' >> /etc/os-release \
|
||||
&& echo 'ID_LIKE=debian' >> /etc/os-release \
|
||||
&& echo 'VERSION_ID="1.0"' >> /etc/os-release \
|
||||
&& echo 'HOME_URL="https://particle-os.org"' >> /etc/os-release \
|
||||
&& echo 'SUPPORT_URL="https://particle-os.org/support"' >> /etc/os-release \
|
||||
&& echo 'BUG_REPORT_URL="https://particle-os.org/bugs"' >> /etc/os-release
|
||||
|
||||
# Set hostname
|
||||
RUN echo 'particle-os-kde' > /etc/hostname
|
||||
|
||||
# Configure bootc for immutable system
|
||||
RUN ln -sf /var/home /home
|
||||
|
||||
# Set up default KDE configuration
|
||||
RUN mkdir -p /etc/skel/.config/kdeglobals \
|
||||
&& mkdir -p /etc/skel/.config/plasma-org.kde.plasma.desktop-appletsrc
|
||||
|
||||
# Ensure proper permissions
|
||||
RUN chmod 755 /etc/ostree \
|
||||
&& chmod 644 /etc/ostree/ostree.conf \
|
||||
&& chmod 755 /etc/sddm.conf.d \
|
||||
&& chmod 644 /etc/sddm.conf.d/autologin.conf
|
||||
|
||||
LABEL org.opencontainers.image.title="Particle OS KDE"
|
||||
LABEL org.opencontainers.image.description="Debian Trixie based Particle OS with KDE Plasma"
|
||||
LABEL org.opencontainers.image.vendor="Particle OS Project"
|
||||
LABEL org.opencontainers.image.version="1.0-kde"
|
||||
LABEL org.particle-os.type="desktop"
|
||||
LABEL org.particle-os.desktop="kde-plasma"
|
||||
LABEL com.debian.bootc="true"
|
||||
LABEL ostree.bootable="true"
|
||||
90
containerfiles/Containerfile.debian-trixie-minimal
Normal file
90
containerfiles/Containerfile.debian-trixie-minimal
Normal file
|
|
@ -0,0 +1,90 @@
|
|||
# Particle OS - Debian Trixie Minimal Base Image
|
||||
# Phase 5.1: Real Desktop Environment Integration Testing
|
||||
|
||||
FROM debian:trixie
|
||||
|
||||
# Set environment variables
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
# Install essential packages
|
||||
RUN apt-get update && apt-get install -y \
|
||||
# Core system packages
|
||||
systemd \
|
||||
systemd-sysv \
|
||||
dbus \
|
||||
sudo \
|
||||
# Network management
|
||||
network-manager \
|
||||
# Package management
|
||||
apt-utils \
|
||||
ca-certificates \
|
||||
gnupg \
|
||||
# OSTree and bootc requirements
|
||||
ostree \
|
||||
# Kernel and boot
|
||||
linux-image-amd64 \
|
||||
linux-headers-amd64 \
|
||||
initramfs-tools \
|
||||
# Bootloader
|
||||
grub-efi-amd64 \
|
||||
grub-efi-amd64-bin \
|
||||
efibootmgr \
|
||||
# Filesystem utilities
|
||||
util-linux \
|
||||
parted \
|
||||
e2fsprogs \
|
||||
dosfstools \
|
||||
# System utilities
|
||||
nano \
|
||||
vim-tiny \
|
||||
curl \
|
||||
wget \
|
||||
htop \
|
||||
less \
|
||||
# Cleanup
|
||||
&& apt-get clean \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Enable essential services
|
||||
RUN systemctl enable systemd-networkd \
|
||||
&& systemctl enable dbus
|
||||
|
||||
# Create particle-os user
|
||||
RUN useradd -m -G sudo particle-os \
|
||||
&& echo 'particle-os:particle-os' | chpasswd \
|
||||
&& echo 'particle-os ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
|
||||
|
||||
# Set up OSTree configuration for bootc
|
||||
RUN mkdir -p /etc/ostree \
|
||||
&& echo '[core]' > /etc/ostree/ostree.conf \
|
||||
&& echo 'mode=bare-user-only' >> /etc/ostree/ostree.conf
|
||||
|
||||
# Configure system identification
|
||||
RUN echo 'PRETTY_NAME="Particle OS (Debian Trixie Minimal)"' > /etc/os-release \
|
||||
&& echo 'NAME="Particle OS"' >> /etc/os-release \
|
||||
&& echo 'VERSION="1.0"' >> /etc/os-release \
|
||||
&& echo 'ID=particle-os' >> /etc/os-release \
|
||||
&& echo 'ID_LIKE=debian' >> /etc/os-release \
|
||||
&& echo 'VERSION_ID="1.0"' >> /etc/os-release \
|
||||
&& echo 'HOME_URL="https://particle-os.org"' >> /etc/os-release \
|
||||
&& echo 'SUPPORT_URL="https://particle-os.org/support"' >> /etc/os-release \
|
||||
&& echo 'BUG_REPORT_URL="https://particle-os.org/bugs"' >> /etc/os-release
|
||||
|
||||
# Set hostname
|
||||
RUN echo 'particle-os' > /etc/hostname
|
||||
|
||||
# Configure bootc for immutable system
|
||||
RUN ln -sf /var/home /home
|
||||
|
||||
# Ensure proper permissions
|
||||
RUN chmod 755 /etc/ostree \
|
||||
&& chmod 644 /etc/ostree/ostree.conf
|
||||
|
||||
LABEL org.opencontainers.image.title="Particle OS Minimal"
|
||||
LABEL org.opencontainers.image.description="Debian Trixie based minimal Particle OS"
|
||||
LABEL org.opencontainers.image.vendor="Particle OS Project"
|
||||
LABEL org.opencontainers.image.version="1.0"
|
||||
LABEL org.particle-os.type="minimal"
|
||||
LABEL org.particle-os.desktop="none"
|
||||
LABEL com.debian.bootc="true"
|
||||
LABEL ostree.bootable="true"
|
||||
Loading…
Add table
Add a link
Reference in a new issue