Migration of FWS from Github

This commit is contained in:
2026-04-02 15:32:15 +02:00
commit 48b5afa4cd
155 changed files with 7752 additions and 0 deletions

View File

@@ -0,0 +1,40 @@
# ============================================================
# FWS Linux — branding.desc
# ============================================================
componentName: fws
strings:
productName: "FWS Linux"
shortProductName: "FWS"
version: "1.0"
shortVersion: "1.0"
versionedName: "FWS Linux 1.0"
shortVersionedName: "FWS 1.0"
bootloaderEntryName: "FWS Linux"
productUrl: "https://fws-linux.org"
supportUrl: "https://fws-linux.org/support"
releaseNotesUrl: "https://fws-linux.org/release-notes"
donateUrl: "https://fws-linux.org/donate"
images:
productLogo: "logo.png"
productIcon: "logo.png"
productWelcome: "logo.png"
slideshow: "slideshow.qml"
slideshowAPI: 2
style:
# Couleurs de la sidebar
sidebarBackground: "#1a1a2e"
sidebarText: "#e0e0e0"
sidebarTextHighlight: "#00d4ff"
sidebarSelect: "#16213e"
# Couleurs générales
backgroundColor: "#0f3460"
highlightedTextColor: "#ffffff"
genericTextColor: "#e0e0e0"
errorTextColor: "#ff6b6b"
warningTextColor: "#ffa500"

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -0,0 +1,138 @@
/* ============================================================
FWS Linux — slideshow.qml
Affiché pendant l'installation
============================================================ */
import QtQuick 2.0
import calamares.slideshow 1.0
Presentation {
id: presentation
function nextSlide() {
if (presentation.currentSlide < slides.count - 1)
presentation.currentSlide++
else
presentation.currentSlide = 0
}
Timer {
id: timer
interval: 4000
repeat: true
running: true
onTriggered: nextSlide()
}
Slide {
anchors.fill: parent
Rectangle {
anchors.fill: parent
color: "#1a1a2e"
Column {
anchors.centerIn: parent
spacing: 20
Text {
text: "🚀 Bienvenue sur FWS Linux"
color: "#00d4ff"
font.pixelSize: 32
font.bold: true
anchors.horizontalCenter: parent.horizontalCenter
}
Text {
text: "Un système rapide, léger et puissant."
color: "#e0e0e0"
font.pixelSize: 18
anchors.horizontalCenter: parent.horizontalCenter
}
}
}
}
Slide {
anchors.fill: parent
Rectangle {
anchors.fill: parent
color: "#16213e"
Column {
anchors.centerIn: parent
spacing: 20
Text {
text: "⚡ Basé sur Arch Linux"
color: "#00d4ff"
font.pixelSize: 32
font.bold: true
anchors.horizontalCenter: parent.horizontalCenter
}
Text {
text: "Accès à l'AUR et aux derniers paquets."
color: "#e0e0e0"
font.pixelSize: 18
anchors.horizontalCenter: parent.horizontalCenter
}
}
}
}
Slide {
anchors.fill: parent
Rectangle {
anchors.fill: parent
color: "#0f3460"
Column {
anchors.centerIn: parent
spacing: 20
Text {
text: "🛡️ Sécurité & Stabilité"
color: "#00d4ff"
font.pixelSize: 32
font.bold: true
anchors.horizontalCenter: parent.horizontalCenter
}
Text {
text: "FWS est conçu pour être robuste et fiable."
color: "#e0e0e0"
font.pixelSize: 18
anchors.horizontalCenter: parent.horizontalCenter
}
}
}
}
Slide {
anchors.fill: parent
Rectangle {
anchors.fill: parent
color: "#1a1a2e"
Column {
anchors.centerIn: parent
spacing: 20
Text {
text: "✅ Installation en cours..."
color: "#00d4ff"
font.pixelSize: 32
font.bold: true
anchors.horizontalCenter: parent.horizontalCenter
}
Text {
text: "Merci de patienter, FWS s'installe sur votre machine."
color: "#e0e0e0"
font.pixelSize: 18
anchors.horizontalCenter: parent.horizontalCenter
}
}
}
}
}

View File

@@ -0,0 +1,22 @@
# ============================================================
# FWS Linux — modules/bootloader.conf
# ============================================================
# Bootloader à utiliser
# Options: grub, systemd-boot, refind
efiBootLoader: "grub"
# Paramètres GRUB
grubInstall: "grub-install"
grubMkconfig: "grub-mkconfig"
grubCfg: "/boot/grub/grub.cfg"
# Chemin EFI
efiDirectory: "/boot/efi"
# ID pour l'entrée EFI
efiBootEntryName: "FWS Linux"
# Menu GRUB
grubTimeout: 5
grubQuiet: false

View File

@@ -0,0 +1,11 @@
# ============================================================
# FWS Linux — modules/finished.conf
# ============================================================
# Redémarrer automatiquement après l'installation
restartNowEnabled: true
restartNowChecked: false
restartNowCommand: "systemctl reboot"
# Message de fin affiché à l'utilisateur
notifyOnFinished: true

View File

@@ -0,0 +1,28 @@
# ============================================================
# FWS Linux — modules/grubcfg.conf
# Paramètres passés à grub-mkconfig
# ============================================================
# Nom de l'entrée dans le menu GRUB
defaultEntry: "FWS Linux"
defaults:
GRUB_ENABLE_CRYPTODISK: true
# Paramètres kernel supplémentaires
kernel_params: ""
# Désactiver l'écran splash (mettre false pour debug)
splash: true
# Thème GRUB (laisse vide pour le thème par défaut)
theme: ""
# Timeout du menu GRUB (en secondes)
timeout: 5
# Activer les entrées des autres OS détectés (os-prober)
enable_osprober: true
# Écrire /etc/default/grub
writeEtcDefaultGrub: true

View File

@@ -0,0 +1,24 @@
# ============================================================
# FWS Linux — modules/initcpiocfg.conf
# Configure /etc/mkinitcpio.conf sur le système cible
# ============================================================
# Modules à inclure dans le initramfs
modules: []
# Binaires supplémentaires
binaries: []
# Fichiers supplémentaires
files: []
# Hooks — ordre important !
hooks:
- base
- udev
- autodetect
- modconf
- block
- filesystems
- keyboard
- fsck

View File

@@ -0,0 +1,17 @@
# ============================================================
# FWS Linux — modules/keyboard.conf
# ============================================================
# Disposition clavier par défaut
xorgConfigFileName: "/etc/X11/xorg.conf.d/00-keyboard.conf"
# Clavier par défaut
keyboardLayout: "fr"
keyboardVariant: ""
keyboardModel: "pc105"
# Permettre à l'utilisateur de choisir son clavier
guiTimezone: true
# Conversions vc (console virtuelle) → X11
convertedKeymapPath: "/lib/kbd/keymaps/xkb"

View File

@@ -0,0 +1,18 @@
# ============================================================
# FWS Linux — modules/locale.conf
# ============================================================
# Région/timezone par défaut
region: "Europe"
zone: "Paris"
# Langue par défaut
locale: "fr_FR.UTF-8"
# Format des nombres, dates, monnaie
# Laisse vide pour utiliser la même valeur que locale
localeGenPath: "/etc/locale.gen"
# Timezone GeoIP (détection auto basée sur l'IP)
geoipStyle: "json"
geoipUrl: "https://geoip.kde.org/v1/calamares"

View File

@@ -0,0 +1,54 @@
# ============================================================
# FWS Linux — modules/packages.conf
# Paquets installés via pacman pendant l'installation
# ============================================================
# Gestionnaire de paquets
backend: pacman
# Ne pas mettre à jour la base de données pacman (déjà dans le live)
update_db: false
operations:
- install:
# Base système
- base
- base-devel
- linux
- linux-headers
- linux-firmware
# Bootloader
- grub
- efibootmgr
- os-prober
- mkinitcpio-openswap
# Réseau
- networkmanager
- network-manager-applet
- wpa_supplicant
- dhcpcd
# Outils essentiels
- sudo
- nano
- vim
- git
- curl
- wget
- htop
- bash-completion
# Locale & timezone
- tzdata
# Optionnel — retire ce qui ne correspond pas à FWS
- pipewire
- pipewire-pulse
- wireplumber
# Paquets à retirer du système live (pas nécessaires après install)
# - remove:
- calamares
- calamares-config

View File

@@ -0,0 +1,34 @@
# ============================================================
# FWS Linux — modules/partition.conf
# ============================================================
# Backend de partitionnement
backend: kpmcore
# Autoriser le partitionnement manuel
allowManualPartitioning: true
# Schéma de partition par défaut (pour install automatique)
# Options: mbr, gpt
defaultPartitionTableType: gpt
# Swap
# Options: none, small, suspend, file
defaultSwapType: small
# Taille minimale des partitions en MiB
defaultFileSystemType: "ext4"
# Partitions EFI (pour UEFI)
efiSystemPartition: "/boot/efi"
efiSystemPartitionSize: 300
# Point de montage racine
requiredStorage: 20.0
# Systèmes de fichiers proposés à l'utilisateur
availableFileSystemTypes: ["ext4", "btrfs", "xfs", "f2fs"]
# Chiffrement
# Activer le chiffrement LUKS
allowZfs: true

View File

@@ -0,0 +1,23 @@
# ============================================================
# FWS Linux — modules/services-systemd.conf
# Services systemd activés sur le système installé
# ============================================================
services:
# Réseau
- name: NetworkManager
mandatory: true
# DHCP
- name: dhcpcd
mandatory: false
# Heure synchronisée
- name: systemd-timesyncd
mandatory: true
# Ajoute ici tes services FWS supplémentaires
# - name: mon-service-fws
# mandatory: false
targets: []

View File

@@ -0,0 +1,16 @@
# ============================================================
# FWS Linux — modules/unpackfs.conf
# Copie le système live vers le disque cible
# ============================================================
unpack:
# Source : le squashfs de l'ISO FWS
# Adapte "FWS" selon la valeur de iso_name dans profiledef.sh
- source: /run/archiso/bootmnt/FWS/x86_64/airootfs.sfs
sourcefs: squashfs
destination: ""
# Alternative si tu utilises erofs au lieu de squashfs :
# - source: /run/archiso/bootmnt/FWS/x86_64/airootfs.erofs
# sourcefs: erofs
# destination: ""

View File

@@ -0,0 +1,39 @@
# ============================================================
# FWS Linux — modules/users.conf
# ============================================================
# Nom d'hôte par défaut
defaultGroups:
- users
- lp
- video
- network
- storage
- wheel
- audio
- optical
- scanner
- power
# Autoriser le login automatique
autologinGroup: autologin
# Sudoers — donne les droits sudo au groupe wheel
sudoersGroup: wheel
# Shell par défaut pour les nouveaux utilisateurs
userShell: /bin/bash
# Hostname par défaut
hostname:
location: EtcFile
template: "fws-${first}"
# Règles pour les mots de passe
passwordRequirements:
minLength: 6
maxLength: -1
nonempty: true
# Permet de définir le même mot de passe pour root et user
allowWeakPasswords: false

View File

@@ -0,0 +1,29 @@
# ============================================================
# FWS Linux — modules/welcome.conf
# ============================================================
# Afficher les conditions requises avant l'installation
showSupportUrl: true
showKnownIssuesUrl: true
showReleaseNotesUrl: false
showDonateUrl: false
# Vérifications système requises
requirements:
# Espace disque minimum en MiB
requiredStorage: 20.0
# RAM minimum en MiB
requiredRam: 2.0
# Vérifier la connexion internet (optionnel)
checkInternet: false
# Vérifier si on tourne en live (pas déjà installé)
checkForRoot: true
# Vérifier l'alimentation (AC power)
checkPower: true
# Ne bloque pas l'install si pas connecté
internetCheckUrl: "https://cloudflare.com"

View File

@@ -0,0 +1,21 @@
---
componentName: fws
strings:
productName: FWS
shortProductName: FWS
version: 2026.03
versionedName: FWS 2026.03
bootloaderEntryName: FWS
productUrl: https://github.com/ton-repo/fws
supportUrl: https://github.com/ton-repo/fws/issues
knownIssuesUrl: https://github.com/ton-repo/fws/issues
releaseNotesUrl: https://github.com/ton-repo/fws
images:
productLogo: logo.png
productIcon: logo.png
productWelcome: logo.png
slideshow: show.qml
slideshowAPI: 2

View File

@@ -0,0 +1 @@
LANG=C.UTF-8

View File

@@ -0,0 +1 @@
/usr/share/zoneinfo/UTC

View File

@@ -0,0 +1 @@
HOOKS=(base udev modconf archiso block filesystems)

View File

@@ -0,0 +1,8 @@
# mkinitcpio preset file for the 'linux' package on archiso
PRESETS=('archiso')
ALL_kver='/boot/vmlinuz-linux'
archiso_config='/etc/mkinitcpio.conf.d/archiso.conf'
archiso_image="/boot/initramfs-linux.img"

View File

@@ -0,0 +1,14 @@
[options]
HoldPkg = pacman glibc
Architecture = auto
ParallelDownloads = 5
CheckSpace
SigLevel = Required DatabaseOptional
LocalFileSigLevel = Optional
[core]
Include = /etc/pacman.d/mirrorlist
[extra]
Include = /etc/pacman.d/mirrorlist

View File

@@ -0,0 +1 @@
root::14871::::::

View File

@@ -0,0 +1,3 @@
# Allow root login using password authentication
PasswordAuthentication yes
PermitRootLogin yes

View File

@@ -0,0 +1,11 @@
[Match]
Type=ether
# Exclude virtual Ethernet interfaces
Kind=!*
[Link]
RequiredForOnline=routable
[Network]
DHCP=yes
MulticastDNS=yes

View File

@@ -0,0 +1,2 @@
[Network]
IPv6PrivacyExtensions=yes

View File

@@ -0,0 +1,4 @@
# Default systemd-resolved configuration for archiso
[Resolve]
MulticastDNS=yes

View File

@@ -0,0 +1,16 @@
[Unit]
Description=Calamares Installer
After=xorg-start.service
Requires=xorg-start.service
[Service]
Type=simple
User=root
Environment=DISPLAY=:0
ExecStartPre=/bin/sleep 2
ExecStart=/usr/bin/calamares
Restart=on-failure
RestartSec=3
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/cloud-config.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/cloud-final.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/cloud-init-local.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/cloud-init-main.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/cloud-init-network.service

View File

@@ -0,0 +1,3 @@
[Service]
ExecStart=
ExecStart=-/sbin/agetty --autologin root --noclear %I $TERM

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/systemd-networkd-wait-online.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/systemd-networkd.socket

View File

@@ -0,0 +1,6 @@
# Allow systemd-networkd-wait-online to succeed with one interface, otherwise, if multiple network interfaces exist,
# network-online.target gets needlessly delayed.
# See https://wiki.archlinux.org/title/systemd-networkd#systemd-networkd-wait-online
[Service]
ExecStart=
ExecStart=/usr/lib/systemd/systemd-networkd-wait-online --any

View File

@@ -0,0 +1,14 @@
[Unit]
Description=Xorg Display Server
After=systemd-logind.service
Wants=systemd-logind.service
[Service]
Type=simple
User=root
ExecStart=/usr/bin/Xorg :0 vt1 -nolisten tcp
Restart=on-failure
RestartSec=2
[Install]
WantedBy=multi-user.target