feat(releng): add i3 window manager desktop environment configuration
Add i3 window manager as a selectable desktop environment option in the anaconda kickstart configuration. Includes: - i3-wm with essential packages (i3status, i3lock, rofi, kitty, etc.) - X11 server requirement for VR compatibility (SteamVR incompatible with Wayland) - Bluetooth service enablement for i3 sessions - Icon cache update for VR launcher visibility in rofi - i3 configuration template installation for skeleton and existing users - Keyboard layout handling via X11 xorg.conf.d (no keyboard injection needed) This enables users to install a lightweight X11-based desktop environment with VR support capabilities.
This commit is contained in:
@@ -281,6 +281,11 @@ case "$DESK" in
|
||||
# s'ils sont déjà là, filet de secours sinon).
|
||||
xfce) PKGS="xfce4 xfce4-goodies sddm noto-fonts pipewire pipewire-pulse wireplumber pavucontrol"; DM="sddm" ;;
|
||||
hyprland) PKGS="hyprland kitty wofi waybar sddm noto-fonts thunar hyprlock grim slurp wl-clipboard playerctl mako libnotify polkit-gnome network-manager-applet xdg-desktop-portal-hyprland gvfs ttf-nerd-fonts-symbols pipewire pipewire-alsa pipewire-pulse wireplumber pavucontrol bluez bluez-utils blueman"; DM="sddm" ;;
|
||||
# i3 : session X11 → COMPATIBLE VR (SteamVR ne marche pas sous Wayland).
|
||||
# xorg-server est requis (SDDM ne le tire pas) ; maim+xclip = captures X11,
|
||||
# dunst = notifications X11 (équivalent de mako), i3lock = verrouillage.
|
||||
# fws-vr-setup (Super+Shift+V ou menu) installe les drivers du casque.
|
||||
i3) PKGS="i3-wm i3status i3lock xorg-server rofi kitty thunar sddm noto-fonts ttf-nerd-fonts-symbols maim xclip dunst libnotify polkit-gnome network-manager-applet gvfs playerctl brightnessctl pipewire pipewire-alsa pipewire-pulse wireplumber pavucontrol bluez bluez-utils blueman"; DM="sddm" ;;
|
||||
cli|*) PKGS="" ;;
|
||||
esac
|
||||
# Navigateur de base ajouté DÈS QU'un bureau est choisi (jamais en CLI).
|
||||
@@ -380,6 +385,11 @@ HYEOF
|
||||
# avec le bureau ; fws-setup-hardware le refait — idempotent).
|
||||
systemctl enable bluetooth.service 2>/dev/null || true
|
||||
fi
|
||||
if [ "$DESK" = "i3" ]; then
|
||||
systemctl enable bluetooth.service 2>/dev/null || true
|
||||
# Icône du lanceur « Installation VR » (casque) visible dans rofi.
|
||||
gtk-update-icon-cache -f /usr/share/icons/hicolor 2>/dev/null || true
|
||||
fi
|
||||
else
|
||||
echo "[FWS] Bureau '$DESK' non installé (réseau ?) — à refaire après le 1er boot."
|
||||
fi
|
||||
@@ -427,6 +437,19 @@ if [ "$DESK" = "hyprland" ] && [ -f /usr/local/share/fws/hyprland.conf.tmpl ]; t
|
||||
rm -f /tmp/fws-hyprland.conf
|
||||
fi
|
||||
|
||||
# --- Config i3 (si choisi) : raccourcis FWS + barre + autostart -------------
|
||||
# Pas d'injection clavier ici : les sessions X11 lisent la disposition dans
|
||||
# /etc/X11/xorg.conf.d/00-keyboard.conf, écrite à l'étape 3bis.
|
||||
if [ "$DESK" = "i3" ] && [ -f /usr/local/share/fws/i3-config ]; then
|
||||
install -Dm644 /usr/local/share/fws/i3-config /etc/skel/.config/i3/config
|
||||
while IFS=: read -r _u _x _uid _g _gec _home _sh; do
|
||||
[ "$_uid" -ge 1000 ] && [ "$_uid" -le 60000 ] && [ -d "$_home" ] || continue
|
||||
install -Dm644 /usr/local/share/fws/i3-config "$_home/.config/i3/config"
|
||||
chown "$_u": "$_home/.config" 2>/dev/null || true
|
||||
chown -R "$_u": "$_home/.config/i3" 2>/dev/null || true
|
||||
done < /etc/passwd
|
||||
fi
|
||||
|
||||
# --- 4bis) Sudo : l'utilisateur créé doit pouvoir administrer -----------------
|
||||
# Arch laisse « %wheel » COMMENTÉ dans sudoers → même un membre de wheel ne peut
|
||||
# pas sudo. On active le groupe wheel (drop-in) ET on y ajoute tous les
|
||||
|
||||
Reference in New Issue
Block a user