diff --git a/configs/baseline/airootfs/etc/calamares/modules/desktop.conf b/configs/baseline/airootfs/etc/calamares/modules/desktop.conf deleted file mode 100644 index e731b60..0000000 --- a/configs/baseline/airootfs/etc/calamares/modules/desktop.conf +++ /dev/null @@ -1,8 +0,0 @@ ---- -# Minimal Calamares view module config for desktop selection -# This tells Calamares to use our QML page from the branding folder. -module: view -name: desktop -qml: "branding/fws/desktop.qml" -title: "Choix de l'environnement" -description: "Sélectionne le bureau à installer" diff --git a/configs/baseline/airootfs/etc/calamares/modules/packagechooser.conf b/configs/baseline/airootfs/etc/calamares/modules/packagechooser.conf new file mode 100644 index 0000000..a6cf766 --- /dev/null +++ b/configs/baseline/airootfs/etc/calamares/modules/packagechooser.conf @@ -0,0 +1,26 @@ +--- +mode: required + +labels: + step: "Environnement de bureau" + +items: + - id: xfce + name: "Xfce" + description: "Environnement léger, stable et rapide. Idéal pour les machines modestes." + screenshot: "" + + - id: kde + name: "KDE Plasma" + description: "Environnement moderne et très personnalisable avec de nombreuses fonctionnalités." + screenshot: "" + + - id: gnome + name: "GNOME" + description: "Environnement épuré et intuitif avec une interface tactile-friendly." + screenshot: "" + + - id: hyprland + name: "Hyprland" + description: "Compositeur Wayland dynamique, animé et hautement personnalisable." + screenshot: "" diff --git a/configs/baseline/airootfs/etc/calamares/modules/shellprocess.conf b/configs/baseline/airootfs/etc/calamares/modules/shellprocess.conf index 2064ce4..d0b0eeb 100644 --- a/configs/baseline/airootfs/etc/calamares/modules/shellprocess.conf +++ b/configs/baseline/airootfs/etc/calamares/modules/shellprocess.conf @@ -8,10 +8,7 @@ dontChroot: true script: # Copie le kernel depuis l'ISO vers /boot du système cible - 'cp "$(find /run/archiso/bootmnt -name vmlinuz-linux 2>/dev/null | head -1)" "${ROOT}/boot/vmlinuz-linux"' - - 'DESKTOP="$(cat /run/fws-desktop 2>/dev/null || printf xfce)"' - - 'if [ -z "$DESKTOP" ]; then DESKTOP="xfce"; fi' - - 'if [ ! -f "${ROOT}/usr/local/bin/fws-desktop-init-$DESKTOP" ]; then echo "Script bureau introuvable: $DESKTOP" >&2; exit 1; fi' - - 'chroot "${ROOT}" /bin/bash "/usr/local/bin/fws-desktop-init-$DESKTOP"' + - 'chroot "${ROOT}" /bin/bash "/usr/local/bin/fws-desktop-init-$(cat /run/fws-desktop 2>/dev/null || printf xfce)"' # Supprime le drop-in archiso (surcharge HOOKS avec des hooks inexistants post-install) - 'rm -f "${ROOT}/etc/mkinitcpio.conf.d/archiso.conf"' diff --git a/configs/baseline/airootfs/etc/calamares/settings.conf b/configs/baseline/airootfs/etc/calamares/settings.conf index 6775d1b..736723c 100644 --- a/configs/baseline/airootfs/etc/calamares/settings.conf +++ b/configs/baseline/airootfs/etc/calamares/settings.conf @@ -12,7 +12,7 @@ sequence: - keyboard - partition - users - - desktop + - packagechooser - summary - exec: - partition @@ -27,6 +27,7 @@ sequence: - hwclock - networkcfg - packages + - fws-desktop-choice - shellprocess - initcpiocfg - initcpio diff --git a/configs/releng/airootfs/usr/local/bin/fws-desktop-init-xfce b/configs/releng/airootfs/usr/local/bin/fws-desktop-init-xfce index ba868ff..4886b15 100644 --- a/configs/releng/airootfs/usr/local/bin/fws-desktop-init-xfce +++ b/configs/releng/airootfs/usr/local/bin/fws-desktop-init-xfce @@ -5,7 +5,21 @@ set -euo pipefail first_user="$(fws_first_user)" -fws_install_packages xfce4 xfce4-goodies lightdm lightdm-gtk-greeter +fws_install_packages \ + xfce4 xfce4-goodies \ + lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings \ + gvfs gvfs-mtp gvfs-gphoto2 gvfs-smb gvfs-nfs \ + pipewire pipewire-alsa pipewire-pulse wireplumber pavucontrol \ + network-manager-applet \ + xfce-polkit \ + xdg-user-dirs xdg-user-dirs-gtk xdg-utils \ + gnome-keyring libsecret \ + noto-fonts noto-fonts-emoji ttf-dejavu ttf-liberation \ + ffmpegthumbnailer tumbler \ + blueman \ + xorg-server xorg-xinit xorg-xrandr arandr \ + accountsservice \ + upower fws_disable_services sddm.service gdm.service fws_enable_services lightdm.service fws_write_lightdm_config "$first_user" xfce