FROM registry.fedoraproject.org/fedora-bootc:43 #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 #Ajout du dépot mullvad RUN curl -fsSL https://repository.mullvad.net/rpm/stable/mullvad.repo -o /etc/yum.repos.d/mullvad.repo #Install de gnome avec support hardware + Podman + Cups + Vulkan driver + Plymouth + dev tools + divers utilitaires RUN dnf install -y \ @base-x \ @hardware-support \ @development-tools \ gnome-initial-setup \ gdm \ gnome-shell \ gnome-session \ xdg-desktop-portal \ xdg-desktop-portal-gnome \ xdg-desktop-portal-gtk \ ptyxis \ nautilus \ gnome-control-center \ gnome-settings-daemon \ gnome-keyring \ gnome-calculator \ gnome-clocks \ gnome-calendar \ gnome-text-editor \ gnome-menus \ ffmpegthumbnailer \ glycin-thumbnailer \ gnome-epub-thumbnailer \ totem-video-thumbnailer \ papers-nautilus \ papers \ loupe \ sushi \ gnome-weather \ snapshot \ gstreamer1 \ gstreamer1-plugins-base \ gstreamer1-plugins-good \ gstreamer1-plugins-bad-free \ gstreamer1-plugins-ugly-free \ gstreamer1-libav \ gstreamer1-vaapi \ ffmpeg \ code \ glibc-langpack-fr \ flatpak \ buildah \ podman \ podman-docker \ podman-compose \ fuse-overlayfs \ cups \ dconf \ jq \ htop \ cups-pdf \ vulkan-loader \ vulkan-tools \ mesa-vulkan-drivers \ mesa-dri-drivers \ mesa-libEGL \ mesa-va-drivers \ libva-utils \ xorg-x11-drv-amdgpu \ plymouth \ plymouth-system-theme \ plymouth-plugin-label \ plymouth-plugin-fade-throbber \ wget \ mullvad-vpn \ kernel-modules \ kernel-modules-extra \ SDL2 \ evtest \ libusb \ usbutils \ && dnf remove -y gnome-software gnome-software-rpm-ostree || true \ && dnf clean all \ && rm -rf /var/cache/dnf #Installation de Yaak RUN wget https://github.com/mountain-loop/yaak/releases/download/v2025.7.0/yaak-2025.7.0-1.x86_64.rpm -O /tmp/yaak.rpm \ && dnf install -y /tmp/yaak.rpm \ && rm -f /tmp/yaak.rpm #Installation de Filen Desktop RUN wget https://cdn.filen.io/@filen/desktop/release/latest/Filen_linux_x86_64.rpm -O /tmp/filen.rpm \ && dnf install -y /tmp/filen.rpm \ && rm -f /tmp/filen.rpm #Installation de starship RUN curl -sS https://starship.rs/install.sh | sh -s -- -y #Installation des polices FiraMono Nerd Font RUN mkdir -p /usr/share/fonts/firamono-nerd && \ cd /usr/share/fonts/firamono-nerd && \ wget https://github.com/ryanoasis/nerd-fonts/releases/download/v3.4.0/FiraMono.zip && \ unzip FiraMono.zip && \ rm FiraMono.zip && \ fc-cache -fv #Configuration de starship pour tous les utilisateurs RUN echo 'eval "$(starship init bash)"' >> /etc/bashrc #Configuration par défaut de starship pour tous les utilisateurs RUN mkdir -p /etc/skel/.config && \ starship preset nerd-font-symbols -o /etc/skel/.config/starship.toml #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 #Activation du module xpad pour support manette xbox RUN echo "xpad" > /etc/modules-load.d/xpad.conf # 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 #Définir le target graphique par défaut 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 mullvad-daemon.service && \ systemctl mask bootc-fetch-apply-updates.timer