diff --git a/Containerfile b/Containerfile index 3107712..fe92b9b 100644 --- a/Containerfile +++ b/Containerfile @@ -1,4 +1,4 @@ -FROM registry.fedoraproject.org/fedora-bootc:44 +FROM registry.fedoraproject.org/fedora-bootc:45 #Install copr command RUN dnf5 install 'dnf5-command(copr)' -y \ @@ -7,11 +7,7 @@ RUN dnf5 install 'dnf5-command(copr)' -y \ #Ajout du dépot mullvad RUN curl -fsSL https://repository.mullvad.net/rpm/stable/mullvad.repo -o /etc/yum.repos.d/mullvad.repo -#Ajout du dépot Terra (Umbriel n'est pas dans les depots Fedora) -RUN dnf install -y --nogpgcheck --repofrompath 'terra,https://repos.fyralabs.com/terra$releasever' terra-release \ - && dnf clean all - -#Install de GNOME + stack Noctalia/Umbriel avec support hardware + Podman + Cups + Vulkan driver + Plymouth + dev tools + divers utilitaires +#Install de GNOME avec support hardware + Podman + Cups + Vulkan driver + Plymouth + dev tools + divers utilitaires RUN dnf install -y --refresh --setopt=tsflags=nodocs \ @gnome-desktop \ @hardware-support \ @@ -39,9 +35,6 @@ RUN dnf install -y --refresh --setopt=tsflags=nodocs \ cups-pdf \ jq \ mullvad-vpn \ - noctalia \ - umbriel-nightly \ - xdg-desktop-portal-umbriel-nightly \ plymouth \ plymouth-system-theme \ plymouth-plugin-label \ @@ -102,9 +95,6 @@ RUN echo 'eval "$(starship init bash)"' >> /etc/bashrc RUN mkdir -p /etc/skel/.config && \ starship preset nerd-font-symbols -o /etc/skel/.config/starship.toml -#Configuration Umbriel par défaut : config de départ du paquet + autostart Noctalia -COPY config/umbriel.toml /etc/xdg/umbriel/config.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 \ @@ -126,11 +116,9 @@ RUN mkdir -p /etc/dconf/db/local.d /etc/dconf/profile && \ #Activation du module xpad pour support manette xbox RUN echo "xpad" > /etc/modules-load.d/xpad.conf -#Le depot flathub est ajoute au premier demarrage (voir flatpak-first-boot.service) : -#ecrire dans /var pendant le build est un anti-patron bootc (mauvais labels SELinux). - #Activation du service flatpak-first-boot (active apres preset-all, plus bas) COPY services/flatpak-first-boot.service /etc/systemd/system/flatpak-first-boot.service +RUN chmod 0644 /etc/systemd/system/flatpak-first-boot.service #Définir le target graphique par défaut RUN systemctl set-default graphical.target diff --git a/README.md b/README.md index f7ce8cf..383f45d 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,12 @@ # My Fedora - Distribution Fedora Personnalisée -Distribution Fedora 44 personnalisée basée sur Fedora Bootc avec GNOME, le compositeur Umbriel et le shell Noctalia, plus un ensemble d'outils de développement préinstallés. +Distribution Fedora 44 personnalisée basée sur Fedora Bootc avec GNOME, plus un ensemble d'outils de développement préinstallés. ## Caractéristiques ### Environnement de Bureau - **GNOME** (`@gnome-desktop`) avec support matériel complet - **GDM** comme gestionnaire de connexion (GNOME Initial Setup crée le premier compte au boot) -- **Umbriel** (compositeur Wayland, build nightly) et **Noctalia** (shell) via le dépôt Terra -- **xdg-desktop-portal-umbriel-nightly** pour les portails XDG - **Nautilus** avec l'extension `nautilus-my-computer` (dépôt Copr) - **Plymouth** pour l'animation de démarrage - **Vulkan** et pilotes Mesa (x86_64 et i686) @@ -34,7 +32,6 @@ Distribution Fedora 44 personnalisée basée sur Fedora Bootc avec GNOME, le com - **Fuseau horaire** : `Europe/Paris` - **Système de fichiers root** : Btrfs - **Flatpak** : Flathub et Bazaar ajoutés au premier démarrage (service `flatpak-first-boot`) -- **Umbriel** : configuration par défaut dans `/etc/xdg/umbriel/config.toml` (autostart Noctalia) - **Module `xpad`** chargé au démarrage (manettes Xbox) ### Optimisations @@ -91,7 +88,7 @@ Pousse l'image vers `docker.io/tintounn/my-fedora:latest`. - **Base** : `registry.fedoraproject.org/fedora-bootc:44` - **Type** : Image conteneur bootable (Bootc) - **Target** : Système graphique (`graphical.target`) -- **Dépôts supplémentaires** : Terra (`repos.fyralabs.com`), Mullvad, Copr `yannmasoch/nautilus-my-computer` +- **Dépôts supplémentaires** : Mullvad, Copr `yannmasoch/nautilus-my-computer` ## Services Activés @@ -121,7 +118,6 @@ Le pipeline CI construit et publie automatiquement l'image sur Docker Hub. ├── push-image.sh # Script de publication ├── iso.toml # Configuration de l'installeur Anaconda ├── config/ -│ ├── umbriel.toml # Configuration Umbriel par défaut │ └── xorg-keyboard.conf # Clavier FR pour GDM ├── services/ │ └── flatpak-first-boot.service @@ -136,7 +132,6 @@ Le pipeline CI construit et publie automatiquement l'image sur Docker Hub. - L'image utilise l'isolation `chroot` lors de la construction - Le builder d'ISO nécessite des privilèges élevés et l'accès au storage Podman - `ffmpeg` provient des dépôts Fedora (`ffmpeg-free`) : pour les codecs complets, activer RPM Fusion -- Umbriel/Noctalia proviennent du dépôt tiers Terra (`--nogpgcheck` à l'ajout du dépôt) - Le dépôt Flathub est ajouté au premier démarrage, pas pendant le build (écrire dans `/var` est un anti-patron bootc) - Flatpak est installé dans une transaction isolée pour que le scriptlet `flatpak-selinux` enregistre correctement le module SELinux ; le build échoue si le label `flatpak_helper_exec_t` est absent de la politique compilée diff --git a/config/umbriel.toml b/config/umbriel.toml deleted file mode 100644 index 42cae2d..0000000 --- a/config/umbriel.toml +++ /dev/null @@ -1,10 +0,0 @@ -# Configuration Umbriel par défaut, commune à tous les utilisateurs -# (XDG_CONFIG_DIRS). Un fichier ~/.config/umbriel/config.toml la remplace. -# -# On charge la configuration de départ fournie par le paquet (keybinds, -# layout, effets, window/layer rules) puis on démarre Noctalia avec la session. -[include] -files = ["/usr/share/umbriel/config.toml"] - -[general] -autostart = ["noctalia"] diff --git a/services/flatpak-first-boot.service b/services/flatpak-first-boot.service index 26d3c76..889db6d 100644 --- a/services/flatpak-first-boot.service +++ b/services/flatpak-first-boot.service @@ -3,6 +3,11 @@ Description=Installation des Flatpaks au premier démarrage After=network-online.target flatpak-system-helper.service Wants=network-online.target ConditionPathExists=!/var/lib/flatpak/.firstboot-done +# network-online.target ne garantit pas que la resolution DNS soit deja +# operationnelle (NetworkManager atteint CONNECTED_GLOBAL avant que le +# resolver ne reponde). On autorise donc plusieurs tentatives avant d'abandonner. +StartLimitIntervalSec=600 +StartLimitBurst=30 [Service] Type=oneshot @@ -12,7 +17,11 @@ ExecStart=/bin/bash -c '\ flatpak install -y --system flathub runtime/org.gnome.Platform/x86_64/49 && \ flatpak install -y --system flathub io.github.kolunmi.Bazaar && \ touch /var/lib/flatpak/.firstboot-done' +# Relance la sequence si le reseau/DNS n'est pas encore pret au premier essai. +Restart=on-failure +RestartSec=15s StandardOutput=journal +StandardError=journal [Install] WantedBy=multi-user.target