FROM registry.fedoraproject.org/fedora-bootc:42

#Ajout du dépot vscode
RUN rpm --import https://packages.microsoft.com/keys/microsoft.asc \
    && echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\nautorefresh=1\ntype=rpm-md\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" | tee /etc/yum.repos.d/vscode.repo > /dev/null

#Install de gnome avec support hardware + Podman + Cups + Vulkan driver + Plymouth
RUN dnf install -y \
        @gnome-desktop \
        @hardware-support \
        @development-tools \
        code \
        glibc-langpack-fr \
        flatpak \
        buildah \
        podman \
        podman-docker \
        fuse-overlayfs \
        cups \
        dconf \
        cups-pdf \
        vulkan-loader \
        vulkan-tools \
        mesa-vulkan-drivers \
        xorg-x11-drv-amdgpu \
        plymouth \
        plymouth-system-theme \
        plymouth-plugin-label \
        plymouth-plugin-fade-throbber \
        podman-compose \
    && dnf remove -y gnome-software gnome-software-rpm-ostree || true \
    && dnf clean all \
    && rm -rf /var/cache/dnf

#Langue FR par défaut + Fuse userns + Timezone Paris
RUN echo "LANG=fr_FR.UTF-8" > /etc/locale.conf \
    && echo "KEYMAP=fr" > /etc/vconsole.conf \
    && ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime \
    && echo "user.max_user_namespaces=28633" > /etc/sysctl.d/userns.conf

#Configuration des fenêtres gnome pour avoir les btns style windows
RUN mkdir -p /etc/dconf/db/local.d /etc/dconf/profile && \
    printf "[org/gnome/desktop/wm/preferences]\nbutton-layout=':minimize,maximize,close'\n" > /etc/dconf/db/local.d/02-window-buttons && \
    printf "user-db:user\nsystem-db:local\n" > /etc/dconf/profile/user && \
    dconf update 2>/dev/null || true

# Ajout de flathub avec des apps par défaut
RUN flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo \
    && flatpak install -y --system flathub runtime/org.gnome.Platform/x86_64/49 \
    && flatpak install -y --system flathub io.github.kolunmi.Bazaar

RUN systemctl set-default graphical.target

#Activation des services + Desactivation de bootc-update automatique
RUN systemctl preset-all && \
    systemctl enable gdm.service NetworkManager.service bluetooth.service podman.socket cups.service && \
    systemctl mask bootc-fetch-apply-updates.timer