Commit Graph

91 Commits

Author SHA1 Message Date
nocode 87977ce8d7 build(releng): add python-gobject, pacman-contrib packages and enable firewalld
- Add python-gobject for fws-hello welcome window (GTK3 comes with Firefox)
- Add pacman-contrib for checkupdates/paccache (update indicator and fws-update)
- Enable firewalld.service by default with public zone (blocks inbound, allows outbound)
- firewalld is already in the base image and can be activated offline
- GUI included in firewall-config package; KDE has additional plasma-firewall
2026-07-04 12:56:13 +02:00
nocode b5f00d8dd2 feat(waybar): add custom updates module to waybar configuration
Add a new custom/updates module to the waybar right-side modules that displays available system updates. The module executes fws-updates-check every 30 minutes (1800 seconds) and allows users to install updates by clicking, which launches a kitty terminal running fws-update. Tooltip text is displayed in French.
2026-07-04 12:56:08 +02:00
nocode 349cc28d7d feat(polybar): add updates module to polybar configuration
Add a new custom script module to check for system updates in the polybar status bar. The module runs fws-updates-check every 30 minutes and allows users to trigger updates with a left click to open the update utility in kitty terminal.
2026-07-04 12:56:03 +02:00
nocode fc1bc218a4 feat(i3-config): add fws-hello welcome window on startup
Add execution of fws-hello with --autostart flag to display a welcome window on first boot only. The window will automatically hide after the initial startup.
2026-07-04 12:55:56 +02:00
nocode d399fc5fa6 feat(hyprland): add fws-hello welcome window on first startup
Add execution of fws-hello with --autostart flag to display a welcome window on first launch. The window will be automatically hidden on subsequent startups.
2026-07-04 12:55:50 +02:00
nocode 4d36e86f51 feat(hardware-setup): add mangohud gaming performance overlay packages
Add mangohud and lib32-mangohud packages to the desktop environment setup for gaming performance monitoring. Mangohud provides an in-game FPS and performance metrics overlay that can be used with Steam games via '%command%' prefix.
2026-07-04 12:55:45 +02:00
nocode a0f269cf90 chore(baseline): add file permissions for new fws utility scripts
Add file permission entries for five new utility scripts in the fws toolkit:
- fws-hello
- fws-update
- fws-updates-check
- fws-proton-ge
- fws-recovery

All scripts are configured with owner:group 0:0 and executable permission 755.
2026-07-04 12:55:38 +02:00
nocode 7831b537d7 feat(baseline): add recovery mode boot option to zprofile
Add support for recovery mode that can be triggered via the fws.recovery=1 kernel parameter. When recovery mode is enabled, the system launches the fws-recovery console assistant directly instead of starting the graphical environment.

This allows users to access repair tools without needing to start X server, improving system recovery capabilities.
2026-07-04 12:55:25 +02:00
nocode 2c5f08330a refactor(fws-keys): make keyboard shortcuts tool universal for hyprland and i3
Rename fws-hypr-keys to fws-keys and extend it to support both Hyprland and i3 desktop environments. The tool now detects the session type and uses appropriate methods:

- Hyprland: queries hyprctl binds for real loaded bindings (wofi dmenu)
- i3: parses ~/.config/i3/config with variable resolution (rofi dmenu)

Update all references in configs and templates. Add VM detection warning in fws-vr-setup to prevent VR attempts in virtual machines where GPU/USB access is unavailable.

Add ttf-liberation font dependency for Steam UI stability on minimal installations and improve error guidance for Steam crashes.
2026-07-04 03:59:09 +02:00
nocode a63021cde7 feat(icons): add fws-vr vr headset icon
Add scalable SVR icon for the fws-vr-setup launcher using FWS/Catppuccin color palette. The icon depicts a VR headset with straps, lenses, and nose notch in blue and dark theme colors.
2026-07-04 03:30:46 +02:00
nocode b408c84a8c feat(releng): add fws-vr-setup desktop application entry
Add desktop application entry for VR setup tool that allows users to install drivers and runtimes for VR headsets including HTC Vive, Valve Index, and Meta Quest devices. The application launches fws-vr-setup command in a kitty terminal.
2026-07-04 03:30:41 +02:00
nocode 2a3824a991 feat(i3): add default i3 window manager configuration
Add FWS default i3 configuration file with X11 session support.

Includes:
- Color scheme based on Catppuccin Mocha palette
- Keyboard bindings for common applications and window management
- VR headset driver setup integration (Super+Shift+V)
- Multi-monitor and workspace navigation support
- Screenshot and multimedia control bindings
- Status bar configuration with i3status
- Autostart for dunst, nm-applet, polkit-gnome, and blueman
2026-07-04 03:30:38 +02:00
nocode 06121343e7 feat(releng): add fws-vr-setup script for VR driver installation
Add interactive shell script for installing VR drivers and runtimes based on headset type. Supports HTC Vive/Valve Index (native SteamVR), Meta Quest/Pico (ALVR streaming), and Monado (OpenXR runtime). Script automatically detects GPU and installs appropriate 32-bit Vulkan libraries required by SteamVR. Includes multilib configuration and user guidance for each VR setup path.
2026-07-04 03:30:28 +02:00
nocode 3c12d9514c chore(releng): add fws-vr-setup executable to file permissions
Register the new fws-vr-setup script with executable permissions (755) in the releng profile configuration.
2026-07-04 03:30:23 +02:00
nocode 5f108c607b 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.
2026-07-04 03:30:18 +02:00
nocode 95eb6c15e0 fix(fws-setup-hardware): add blueman bluetooth manager support for i3 desktop
Include blueman in the base packages for i3 desktop environment, alongside hyprland and xfce, to provide graphical bluetooth management and pairing assistant for i3 users.
2026-07-04 03:30:12 +02:00
nocode 4a598c854a chore(baseline): add fws-vr-setup executable permission 2026-07-04 03:30:07 +02:00
nocode 9f46b9bb1b feat(fws_desktop): add i3 window manager option with VR compatibility note
Add i3 X11 window manager as a desktop environment option with explicit VR compatibility information. Update Hyprland label to clarify it uses Wayland and is not VR compatible. Adjust position indices for subsequent radio button options.
2026-07-04 03:30:02 +02:00
nocode 14d138cae4 feat(fws_recap): add i3 desktop option and update hyprland description
Add i3 desktop environment option with X11 and VR compatibility note.
Update hyprland description to clarify Wayland protocol and VR incompatibility.
Both descriptions now include information about included applications (Firefox, SDDM).
2026-07-04 03:29:56 +02:00
nocode 8e2e74a227 feat(fws_desktop): add i3 desktop option and update hyprland description
Add i3 window manager as a desktop choice with X11 and SteamVR compatibility note. Update Hyprland description to clarify it uses Wayland and is not compatible with VR.
2026-07-04 03:29:44 +02:00
nocode d0e431329d refactor(hyprland): disable splash rendering in hyprland configuration
Add disable_splash_rendering option to misc section to hide the startup splash message at the bottom of the screen.
2026-07-04 03:06:39 +02:00
nocode 75113980f0 refactor(waybar): add format-no-controller for bluetooth module
Configure waybar bluetooth module to use an empty format when no bluetooth controller is detected, improving UI consistency.
2026-07-04 03:06:25 +02:00
nocode 4d123b6f5d fix(hyprland): only launch blueman-applet if bluetooth adapter exists
Prevent blueman-applet from showing connection errors in virtual machines where no Bluetooth adapter is present. The applet now checks for the existence of a Bluetooth adapter in /sys/class/bluetooth before launching.

This change adds a conditional check that gracefully skips the applet initialization when no hardware is available, improving user experience in VM environments.
2026-07-04 03:05:57 +02:00
nocode a09278b63f feat(anaconda): add modified anaconda summary hub glade template
Add anaconda-summary-hub.glade file, a customized copy of anaconda 45.8's summary.glade without the "We won't touch your disks…" disclaimer label at the bottom of the hub.

This file is placed in a neutral path (usr/local/share/fws/) because mkarchiso applies the airootfs before pacstrap. Placing it at the anaconda package path would cause pacman to refuse installation due to filesystem conflicts. The live environment's .xinitrc copies this file to /usr/share/anaconda/ui/hubs/summary.glade during boot.
2026-07-04 02:52:33 +02:00
nocode dd71664b9e chore(baseline): remove anaconda summary glade file overlay
Delete the customized summary.glade file that was overlaying the anaconda package file. This file was previously used to hide the "We won't touch your disks…" message at the bottom of the installation summary hub.
2026-07-04 02:52:24 +02:00
nocode 2aaf1cbfd5 chore(baseline): add anaconda summary hub glade override in xinitrc
Add logic to override the anaconda summary hub glade file at live boot time. The custom glade file is stored in /usr/local/share/fws and copied to /usr/share/anaconda/ui/hubs/summary.glade during X initialization.

This workaround is necessary because mkarchiso applies the airootfs overlay before pacstrap, which prevents pacman from installing anaconda over existing files. The file is therefore delivered to /usr/local/share/fws and overlaid at boot when the live overlay is writable.
2026-07-04 02:52:18 +02:00
nocode e20523470f feat(anaconda): add customized summary glade ui file
Add a customized version of anaconda's summary.glade UI definition file to the baseline airootfs configuration. This file is based on anaconda 45.8 but with the "We won't touch your disks..." label removed from the bottom of the hub, allowing the overlay to mask the original package file without requiring an anaconda rebuild.
2026-07-04 01:07:39 +02:00
nocode c56db3de04 chore(releng): remove fws-dnd package from x86_64 build
Remove the fws-dnd package and its associated comment from the x86_64 package list. This package is no longer needed for the release engineering build.
2026-07-04 01:02:50 +02:00
nocode 81dfac3762 chore(releng): add fws-dnd package to x86_64 configuration
Add fws-dnd (D&D 5e manager for dice, characters, grimoire, sessions, and combat) to the releng packages.x86_64 configuration.
2026-07-04 01:01:27 +02:00
nocode 43ecf7f54f chore(releng): add pipewire and bluetooth packages to desktop environments
Add PipeWire audio stack (pipewire, pipewire-pulse, wireplumber, pavucontrol)
and Bluetooth support (bluez, bluez-utils, blueman) to xfce and hyprland
package lists to ensure they are installed alongside the desktop environment.

Enable bluetooth.service at installation time for hyprland to have Bluetooth
ready at first boot. Update comments to reflect the new guaranteed installation
of audio and Bluetooth components as part of the desktop environment transaction.
2026-07-04 01:01:20 +02:00
nocode 96e5721ad8 chore(hyprland): add blueman applet and remove steam keybinding
Add blueman-applet to the exec-once commands for bluetooth management.
Remove the Steam launcher keybinding (SUPER+KP_Multiply) from the configuration.
2026-07-04 01:01:12 +02:00
nocode cef3b291d1 chore(packages): add fws-dnd package to baseline x86_64 configuration
Add the fws-dnd package (D&D 5e Manager for dice, characters, grimoire, sessions, and combat) to the baseline x86_64 packages list under the FWS section.
2026-07-04 01:01:09 +02:00
nocode 6e59e1d4c4 chore(baseline): update installer preparation message in french
Change the estimated time message from '2 à 4 minutes' to 'Encore une à deux minutes' to provide more accurate timing information to users during the FWS installer preparation phase.
2026-07-04 01:00:53 +02:00
nocode 3a5efffc61 feat(wofi-style): add wofi application menu styling with catppuccin mocha theme
Add a new CSS stylesheet for wofi (application launcher menu triggered with Super+R) that implements the Catppuccin Mocha blue color scheme. The stylesheet includes styling for the window, input field, menu entries, and selection states with rounded corners and appropriate contrast ratios.
2026-07-04 00:26:37 +02:00
nocode 53942aece0 feat(releng): add wofi keyboard shortcuts panel styling
Add CSS stylesheet for the FWS keyboard shortcuts panel (fws-hypr-keys) using monospace font to align key combinations with descriptions. Uses the same color palette as the wofi menu with Catppuccin theme colors.
2026-07-04 00:26:31 +02:00
nocode e98a8320fb feat(wofi): add wofi application menu configuration
Add wofi configuration file for FWS with settings for case-insensitive search, image support, custom dimensions, and application prompt.
2026-07-04 00:26:27 +02:00
nocode 038700e22d feat(hyprland): add desktop portal and notification support to hyprland setup
Add missing packages for hyprland desktop environment:
- mako + libnotify for notifications
- polkit-gnome for GUI authentication
- network-manager-applet for network management in tray
- xdg-desktop-portal-hyprland for screen sharing
- gvfs for USB mounting in thunar
- ttf-nerd-fonts-symbols for waybar icons

Add start-hyprland launcher support for hyprland ≥0.53 to properly prepare systemd session/environment.

Add wofi configuration files (config and style.css) for application menu styling.

Update skeleton directory setup to install wofi configs for new users and fix chown path formatting.
2026-07-04 00:26:23 +02:00
nocode 4857a9fda9 style(waybar): redesign waybar stylesheet with catppuccin mocha theme and pill-style modules
Update waybar-style.css to version 2 with the following changes:

- Switch to Catppuccin Mocha color scheme with blue accents
- Redesign bar as floating rounded container instead of bottom border
- Style modules as pill-shaped boxes with individual backgrounds
- Add Nerd Font symbols support for better icons
- Improve workspace buttons with hover effects and transitions
- Add tooltip styling and proper color coding for each module
- Update clock styling with dedicated background
- Enhance battery, network, and bluetooth status colors
- Refine spacing, padding, and border-radius throughout for modern appearance
2026-07-04 00:26:16 +02:00
nocode 289a70c10c style(waybar): enhance waybar configuration with improved styling and additional modules
Update waybar configuration with:
- Adjusted height (34 to 36) and spacing (4 to 2)
- Added margins (top: 6, left: 10, right: 10)
- Added workspace navigation with scroll (e-1/e+1)
- Added backlight, bluetooth, and battery modules
- Enhanced clock format with calendar styling
- Improved audio controls with pavucontrol integration
- Added network bandwidth display
- Updated all module icons to use modern emoji/nerd font glyphs
- Improved tooltips with more detailed information
- Adjusted max window name length from 55 to 45 characters
2026-07-04 00:26:09 +02:00
nocode 8224a24d02 chore(hyprland): add startup services and brightness/blueman window rules
- Add mako notification daemon to startup services
- Add nm-applet for network tray icon
- Add polkit-gnome authentication agent for privilege escalation dialogs
- Add brightness control keybinds for XF86MonBrightnessUp/Down
- Add float window rule for blueman-manager
- Update startup comment to describe all session initialization tasks
2026-07-04 00:26:02 +02:00
nocode 0ab90857e5 feat(fws-setup-hardware): add brightnessctl and blueman to base stack
Add brightnessctl for brightness control without root via logind,
consumed by XF86MonBrightness* keys and waybar backlight module.

Add blueman as graphical Bluetooth manager for desktop environments
that don't provide their own (KDE and GNOME have built-in managers).
Blueman provides system tray integration and pairing assistant.

Update comments to clarify the purpose of these new packages.
2026-07-04 00:25:57 +02:00
nocode d6212deaa9 feat(fws-hypr-keys): add optional style support and adjust wofi dimensions
- Import os module to check for style file existence
- Add _STYLE constant pointing to wofi-keys.css stylesheet
- Increase wofi window dimensions from 780x560 to 820x600
- Conditionally apply custom style if the stylesheet exists
- Refactor wofi command construction for better readability
2026-07-04 00:25:45 +02:00
nocode 754b6e8802 fix(syslinux): add udev event timeout to all boot options
Add udev.event_timeout=45 parameter to all APPEND kernel boot options in the syslinux configuration to prevent udev event timeout issues during boot on systems with slow device initialization.
2026-07-04 00:13:13 +02:00
nocode 053998d1c0 fix(releng): add udev event timeout to speech boot entry
Add udev.event_timeout=45 parameter to the accessibility boot entry to prevent timeout issues during device initialization on systems with slower hardware or many devices.
2026-07-04 00:13:09 +02:00
nocode 218b0707a4 fix(efiboot): add udev event timeout to nomodeset boot entry
Add udev.event_timeout=45 parameter to the safe graphics boot option to prevent timeout issues during device initialization on systems with slower hardware or complex device trees.
2026-07-04 00:13:04 +02:00
nocode 7c11f53520 fix(releng): add udev event timeout to archiso linux boot entry
Add udev.event_timeout=45 kernel parameter to the UEFI boot entry for the archiso linux image. This timeout helps prevent boot delays caused by udev waiting for device events to complete.
2026-07-04 00:12:53 +02:00
nocode be0844b50b feat(releng): add uefi boot entry with nomodeset graphics option
Add a new UEFI boot loader entry for Arch Linux installation medium with the nomodeset kernel parameter. This provides a fallback boot option for systems with GPU or hypervisor drivers that have issues with KMS (kernel mode setting), allowing the system to fall back to VESA/EFI framebuffer graphics mode which is slower but more reliable.
2026-07-04 00:00:11 +02:00
nocode 24370461ea feat(sddm): add fws login theme for kde xfce and hyprland
Introduce a new SDDM theme "fws" designed for FWS with support for KDE, XFCE, and Hyprland desktop environments.

The theme is built using pure QtQuick and QtQuick.Controls (Basic style) with no additional dependencies beyond what SDDM already requires. It includes:

- Main.qml: Custom login screen with clock, date, user/password fields, session selector, and power controls
- metadata.desktop: Theme metadata and configuration
- theme.conf: Default configuration with customizable accent color and gradient colors

The design uses a dark theme with accent colors and supports capslock detection and login error handling.
2026-07-04 00:00:05 +02:00
nocode 5d6d1c6db8 feat(waybar): add waybar style configuration for fws theme
Add CSS stylesheet for Waybar that matches the FWS theme, SDDM appearance, and Hyprland borders. Includes styling for workspaces, clock, custom key help button, and system status modules with Catppuccin blue accent color (#89b4fa).
2026-07-03 23:59:58 +02:00
nocode 23df7656e5 feat(waybar): add waybar configuration for hyprland desktop environment
Add waybar panel configuration with modules for workspaces, window title, clock, volume, network, CPU, and memory monitoring. Configured for top panel layout with French localization support.
2026-07-03 23:59:53 +02:00