feat: install and Xfce

[50][DONE]
This commit is contained in:
2026-05-27 10:21:41 +02:00
parent 0fb4c1bf5c
commit d5e0069889
10 changed files with 37 additions and 5 deletions
+2
View File
@@ -11,6 +11,7 @@ Le projet est construit avec une chaîne `mkarchiso` adaptée pour fonctionner *
- **Base** : Arch Linux (rolling release)
- **Installeur** : Calamares (compilé depuis l'AUR, servi via un repo local pacman)
- **Affichage live** : Xorg + Openbox, lancement automatique de Calamares
- **Bureau installé** : XFCE + LightDM avec autologin du premier compte créé
- **Boot** : BIOS (syslinux) + UEFI (systemd-boot)
- **Compression** : squashfs (xz)
- **Build** : Windows + WSL (Arch) ou directement depuis Arch
@@ -59,6 +60,7 @@ Les deux scripts détectent automatiquement s'ils sont lancés depuis **Git Bash
3. `xorg-start.service``Xorg :0`
4. `calamares.service``DISPLAY=:0 calamares`
5. **Fallback** : si les services échouent, `.zprofile` relance Xorg + Openbox + Calamares manuellement
6. Après installation, le système démarre sur LightDM puis ouvre automatiquement la session XFCE du compte installé
## Test rapide en QEMU
@@ -12,6 +12,10 @@ units:
action: "enable"
mandatory: false
- name: "lightdm.service"
action: "enable"
mandatory: true
- name: "sshd.service"
action: "enable"
mandatory: false
@@ -9,6 +9,11 @@ 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"'
# Configure LightDM pour démarrer automatiquement la session XFCE du premier utilisateur créé.
- 'FIRST_USER="$(awk -F: ''$$3 >= 1000 && $$1 != "nobody" { print $$1; exit }'' "${ROOT}/etc/passwd")"'
- 'if [ -n "$$FIRST_USER" ]; then mkdir -p "${ROOT}/etc/lightdm/lightdm.conf.d"; printf ''[Seat:*]\nautologin-user=%s\nautologin-user-timeout=0\nuser-session=xfce\nautologin-session=xfce\ngreeter-hide-users=true\nallow-guest=false\n'' "$$FIRST_USER" > "${ROOT}/etc/lightdm/lightdm.conf.d/50-fws.conf"; fi'
- 'if [ -n "$$FIRST_USER" ] && [ -d "${ROOT}/home/$$FIRST_USER" ]; then printf ''[Desktop]\nSession=xfce\n'' > "${ROOT}/home/$$FIRST_USER/.dmrc"; fi'
# Supprime le drop-in archiso (surcharge HOOKS avec des hooks inexistants post-install)
- '-rm -f "${ROOT}/etc/mkinitcpio.conf.d/archiso.conf"'
@@ -12,7 +12,7 @@ defaultGroups:
autologinGroup: autologin
sudoersGroup: wheel
setRootPassword: true
doAutologin: false
doAutologin: true
userShell: /bin/bash
passwordRequirements:
+5 -1
View File
@@ -1,5 +1,9 @@
#!/bin/sh
# Lancé par startx (cf. /root/.zprofile)
# Lancé par startx (cf. /root/.zprofile), uniquement dans le live FWS.
if [ ! -d /run/archiso ]; then
exit 0
fi
xsetroot -solid "#1a1a2e"
openbox &
sleep 1
+3 -3
View File
@@ -1,5 +1,5 @@
# Démarrage automatique de Xorg + Calamares sur tty1 (autologin root).
# La session X exécute /root/.xinitrc qui lance Openbox + Calamares.
if [[ "$(tty)" == "/dev/tty1" && -z "$DISPLAY" ]]; then
# Démarrage automatique de Xorg + Calamares uniquement dans le live FWS.
# Sur le système installé, /run/archiso n'existe pas, donc rien ne se lance.
if [[ -d /run/archiso && "$(tty)" == "/dev/tty1" && -z "$DISPLAY" ]]; then
exec startx -- vt1
fi
+6
View File
@@ -93,6 +93,12 @@ xorg-xsetroot
openbox
ttf-dejavu
# --- Bureau FWS installé ---
xfce4
xfce4-goodies
lightdm
lightdm-gtk-greeter
# --- Calamares (fournis par fws-local) ---
calamares
kpmcore
@@ -16,6 +16,10 @@ services:
- name: systemd-timesyncd
mandatory: true
# Gestionnaire de session graphique
- name: lightdm
mandatory: true
# Ajoute ici tes services FWS supplémentaires
# - name: mon-service-fws
# mandatory: false
@@ -17,6 +17,7 @@ defaultGroups:
# Autoriser le login automatique
autologinGroup: autologin
doAutologin: true
# Sudoers — donne les droits sudo au groupe wheel
sudoersGroup: wheel
+6
View File
@@ -93,6 +93,12 @@ xorg-xsetroot
openbox
ttf-dejavu
# --- Bureau FWS installé ---
xfce4
xfce4-goodies
lightdm
lightdm-gtk-greeter
# --- Calamares (fournis par fws-local) ---
calamares
kpmcore