From 5f51ee7a63567a942c8580154b0d324a80972ec1 Mon Sep 17 00:00:00 2001 From: Puechberty Arthur Date: Sat, 27 Jun 2026 01:25:00 +0200 Subject: [PATCH] teste deploy avec fix layout hyprland --- .github/workflows/deploy.yml | 52 ++++++++++++++++++++++++++++++++++++ airootfs/root/.install.sh | 13 ++++++--- 2 files changed, 61 insertions(+), 4 deletions(-) create mode 100644 .github/workflows/deploy.yml diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..5e6b532 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,52 @@ +name: Build and Test Custom Arch ISO + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + workflow_dispatch: # Permet de lancer le build manuellement depuis l'onglet Actions + +jobs: + build-iso: + runs-on: ubuntu-latest + container: + image: archlinux:latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Install build dependencies + run: | + pacman -Syu --noconfirm + pacman -S --noconfirm archiso git sudo + + - name: Create builder user + # makepkg refuse de s'exécuter en tant que root, on crée un utilisateur + run: | + useradd -m -G wheel -s /bin/bash builder + echo "builder ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers + + - name: Run ISO build script + run: | + # On donne les droits à l'utilisateur builder pour qu'il puisse créer les dossiers + chown -R builder:builder . + # On lance ton script en tant qu'utilisateur builder + sudo -u builder bash ./build.sh + + - name: Verify ISO creation + run: | + if [ -f out/*.iso ]; then + echo "ISO successfully built!" + ls -lh out/*.iso + else + echo "ISO build failed: No ISO file found in out/ directory." + exit 1 + fi + + - name: Upload ISO artifact + uses: actions/upload-artifact@v4 + with: + name: arch-custom-iso + path: out/*.iso + retention-days: 7 # Garde l'ISO 7 jours sur GitHub pour pouvoir la télécharger \ No newline at end of file diff --git a/airootfs/root/.install.sh b/airootfs/root/.install.sh index c371368..dbd1d93 100755 --- a/airootfs/root/.install.sh +++ b/airootfs/root/.install.sh @@ -493,10 +493,15 @@ EOF if [[ -d ".config" ]]; then cp -r .config "/mnt/home/$username/" - HYPRLAND_CONF="/mnt/home/$username/.config/hypr/init.lua" - if [[ -f "$HYPRLAND_CONF" ]]; then - sed -i "s/__KB_LAYOUT__/$keyboard/g" "$HYPRLAND_CONF" - echo "Hyprland keyboard set to: $keyboard" + # On cherche dynamiquement le fichier .lua contenant le marqueur dans tout le dossier hypr + HYPRLAND_CONF=$(grep -rl "__KB_LAYOUT__" "/mnt/home/$username/.config/hypr/" 2>/dev/null | head -n 1) + + if [[ -n "$HYPRLAND_CONF" ]]; then + # Utilisation de | comme délimiteur pour sed pour éviter les erreurs de parsing + sed -i "s|__KB_LAYOUT__|${keyboard}|g" "$HYPRLAND_CONF" + echo "Hyprland keyboard set to: $keyboard in $HYPRLAND_CONF" + else + echo "ERREUR: Marqueur __KB_LAYOUT__ introuvable dans les configs Hyprland !" fi chown -R 1000:1000 "/mnt/home/$username/.config"