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

View File

@@ -0,0 +1,4 @@
#!/bin/sh
openbox &
sleep 1
exec calamares

View File

@@ -0,0 +1,8 @@
# Fallback si les services systemd n'ont pas démarré Calamares
if [ "$(tty)" = "/dev/tty1" ] && [ -z "$DISPLAY" ]; then
Xorg :0 vt1 &
sleep 2
DISPLAY=:0 openbox &
sleep 1
DISPLAY=:0 calamares
fi

View File

@@ -0,0 +1,2 @@
arch-install-scripts
base

View File

@@ -0,0 +1,4 @@
title Arch Linux (%ARCH%, UEFI)
linux /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux
initrd /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux.img
options archisobasedir=%INSTALL_DIR% archisosearchuuid=%ARCHISO_UUID%

View File

@@ -0,0 +1,2 @@
timeout 3
default 01-archiso-linux.conf

View File

@@ -0,0 +1,101 @@
# Load partition table and file system modules
insmod part_gpt
insmod part_msdos
insmod fat
insmod iso9660
insmod ntfs
insmod ntfscomp
insmod exfat
insmod udf
# Use graphics-mode output
if loadfont "${prefix}/fonts/unicode.pf2" ; then
insmod all_video
set gfxmode="auto"
terminal_input console
terminal_output console
fi
# Enable serial console
insmod serial
insmod usbserial_common
insmod usbserial_ftdi
insmod usbserial_pl2303
insmod usbserial_usbdebug
if serial --unit=0 --speed=115200; then
terminal_input --append serial
terminal_output --append serial
fi
# Get a human readable platform identifier
if [ "${grub_platform}" == 'efi' ]; then
archiso_platform='UEFI'
elif [ "${grub_platform}" == 'pc' ]; then
archiso_platform='BIOS'
else
archiso_platform="${grub_cpu}-${grub_platform}"
fi
# Set default menu entry
default=archlinux
timeout=15
timeout_style=menu
# Menu entries
menuentry "Arch Linux (%ARCH%, ${archiso_platform})" --class arch --class gnu-linux --class gnu --class os --id 'archlinux' {
set gfxpayload=keep
linux /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux archisobasedir=%INSTALL_DIR% archisosearchuuid=%ARCHISO_UUID%
initrd /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux.img
}
if [ "${grub_platform}" == 'efi' -a "${grub_cpu}" == 'x86_64' -a -f '/boot/memtest86+/memtest.efi' ]; then
menuentry 'Run Memtest86+ (RAM test)' --class memtest86 --class gnu --class tool {
set gfxpayload=800x600,1024x768
linux /boot/memtest86+/memtest.efi
}
fi
if [ "${grub_platform}" == 'pc' -a -f '/boot/memtest86+/memtest' ]; then
menuentry 'Run Memtest86+ (RAM test)' --class memtest86 --class gnu --class tool {
set gfxpayload=800x600,1024x768
linux /boot/memtest86+/memtest
}
fi
if [ "${grub_platform}" == 'efi' ]; then
if [ "${grub_cpu}" == 'x86_64' -a -f '/shellx64.efi' ]; then
menuentry 'UEFI Shell' --class efi {
chainloader /shellx64.efi
}
elif [ "${grub_cpu}" == 'i386' -a -f '/shellia32.efi' ]; then
menuentry 'UEFI Shell' --class efi {
chainloader /shellia32.efi
}
elif [ "${grub_cpu}" == 'arm64' -a -f '/shellaa64.efi' ]; then
menuentry 'UEFI Shell' --class efi {
chainloader /shellaa64.efi
}
elif [ "${grub_cpu}" == 'riscv64' -a -f '/shellriscv64.efi' ]; then
menuentry 'UEFI Shell' --class efi {
chainloader /shellriscv64.efi
}
elif [ "${grub_cpu}" == 'loongarch64' -a -f '/shellloongarch64.efi' ]; then
menuentry 'UEFI Shell' --class efi {
chainloader /shellloongarch64.efi
}
fi
menuentry 'UEFI Firmware Settings' --id 'uefi-firmware' {
fwsetup
}
fi
menuentry 'System shutdown' --class shutdown --class poweroff {
echo 'System shutting down...'
halt
}
menuentry 'System restart' --class reboot --class restart {
echo 'System rebooting...'
reboot
}

View File

@@ -0,0 +1,78 @@
# https://www.supergrubdisk.org/wiki/Loopback.cfg
# Search for the ISO volume
search --no-floppy --set=archiso_img_dev --file "${iso_path}"
probe --set archiso_img_dev_uuid --fs-uuid "${archiso_img_dev}"
# Get a human readable platform identifier
if [ "${grub_platform}" == 'efi' ]; then
archiso_platform='UEFI'
elif [ "${grub_platform}" == 'pc' ]; then
archiso_platform='BIOS'
else
archiso_platform="${grub_cpu}-${grub_platform}"
fi
# Set default menu entry
default=archlinux
timeout=15
timeout_style=menu
# Menu entries
menuentry "Arch Linux (%ARCH%, ${archiso_platform})" --class arch --class gnu-linux --class gnu --class os --id 'archlinux' {
set gfxpayload=keep
linux /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux archisobasedir=%INSTALL_DIR% img_dev=UUID=${archiso_img_dev_uuid} img_loop="${iso_path}"
initrd /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux.img
}
if [ "${grub_platform}" == 'efi' -a "${grub_cpu}" == 'x86_64' -a -f '/boot/memtest86+/memtest.efi' ]; then
menuentry 'Run Memtest86+ (RAM test)' --class memtest86 --class gnu --class tool {
set gfxpayload=800x600,1024x768
linux /boot/memtest86+/memtest.efi
}
fi
if [ "${grub_platform}" == 'pc' -a -f '/boot/memtest86+/memtest' ]; then
menuentry 'Run Memtest86+ (RAM test)' --class memtest86 --class gnu --class tool {
set gfxpayload=800x600,1024x768
linux /boot/memtest86+/memtest
}
fi
if [ "${grub_platform}" == 'efi' ]; then
if [ "${grub_cpu}" == 'x86_64' -a -f '/shellx64.efi' ]; then
menuentry 'UEFI Shell' --class efi {
chainloader /shellx64.efi
}
elif [ "${grub_cpu}" == 'i386' -a -f '/shellia32.efi' ]; then
menuentry 'UEFI Shell' --class efi {
chainloader /shellia32.efi
}
elif [ "${grub_cpu}" == 'arm64' -a -f '/shellaa64.efi' ]; then
menuentry 'UEFI Shell' --class efi {
chainloader /shellaa64.efi
}
elif [ "${grub_cpu}" == 'riscv64' -a -f '/shellriscv64.efi' ]; then
menuentry 'UEFI Shell' --class efi {
chainloader /shellriscv64.efi
}
elif [ "${grub_cpu}" == 'loongarch64' -a -f '/shellloongarch64.efi' ]; then
menuentry 'UEFI Shell' --class efi {
chainloader /shellloongarch64.efi
}
fi
menuentry 'UEFI Firmware Settings' --id 'uefi-firmware' {
fwsetup
}
fi
menuentry 'System shutdown' --class shutdown --class poweroff {
echo 'System shutting down...'
halt
}
menuentry 'System restart' --class reboot --class restart {
echo 'System rebooting...'
reboot
}

View File

@@ -0,0 +1,143 @@
alsa-utils
amd-ucode
arch-install-scripts
archinstall
b43-fwcutter
base
bcachefs-tools
bind
bolt
brltty
broadcom-wl
btrfs-progs
calamares
clonezilla
cloud-init
cryptsetup
darkhttpd
ddrescue
dhcpcd
diffutils
dmidecode
dmraid
dnsmasq
dosfstools
e2fsprogs
edk2-shell
efibootmgr
espeakup
ethtool
exfatprogs
f2fs-tools
fatresize
foot-terminfo
fsarchiver
gpart
gpm
gptfdisk
grml-zsh-config
grub
hdparm
hyperv
intel-ucode
irssi
iw
iwd
jfsutils
kitty-terminfo
kpmcore
ldns
less
lftp
libfido2
libusb-compat
linux
linux-atm
linux-firmware
linux-firmware-marvell
livecd-sounds
lsscsi
lvm2
lynx
man-db
man-pages
mc
mdadm
memtest86+
memtest86+-efi
mkinitcpio
mkinitcpio-archiso
mkinitcpio-nfs-utils
mmc-utils
modemmanager
mtools
nano
nbd
ndisc6
fastfetch
nfs-utils
nilfs-utils
nmap
ntfs-3g
nvme-cli
openbox
open-iscsi
open-vm-tools
openconnect
openpgp-card-tools
openssh
openvpn
partclone
parted
partimage
pcsclite
ppp
pptpclient
pv
qemu-guest-agent
qt5-base
qt5-svg
qt6-base
refind
reflector
rsync
rxvt-unicode-terminfo
screen
sdparm
sequoia-sq
sg3_utils
smartmontools
sof-firmware
squashfs-tools
sudo
polkit
polkit-gnome
syslinux
systemd-resolvconf
tcpdump
terminus-font
testdisk
tmux
tpm2-tools
tpm2-tss
ttf-dejavu
udftools
usb_modeswitch
usbmuxd
usbutils
vim
virtualbox-guest-utils-nox
vpnc
wireless-regdb
wireless_tools
wpa_supplicant
wvdial
xdg-utils
xfsprogs
xl2tpd
xorg-server
xorg-xinit
xorg-xrandr
zsh
xorg-xsetroot
xorg-xsetroot

View File

@@ -0,0 +1,105 @@
[fws-local]
SigLevel = Optional TrustAll
Server = file:///mnt/c/Users/Murasaki/Documents/FWS/fws/local-repo
#
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives
#
# GENERAL OPTIONS
#
[options]
# The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths.
#RootDir = /
#DBPath = /var/lib/pacman/
#CacheDir = /var/cache/pacman/pkg/
#LogFile = /var/log/pacman.log
#GPGDir = /etc/pacman.d/gnupg/
#HookDir = /etc/pacman.d/hooks/
HoldPkg = pacman glibc
#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
Architecture = auto
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
#IgnorePkg =
#IgnoreGroup =
#NoUpgrade =
#NoExtract =
# Misc options
#UseSyslog
#Color
#NoProgressBar
# We cannot check disk space from within a chroot environment
#CheckSpace
#VerbosePkgLists
ParallelDownloads = 5
#DownloadUser = alpm
#DisableSandbox
# By default, pacman accepts packages signed by keys that its local keyring
# trusts (see pacman-key and its man page), as well as unsigned packages.
SigLevel = Required DatabaseOptional
LocalFileSigLevel = Optional
#RemoteFileSigLevel = Required
# NOTE: You must run `pacman-key --init` before first using pacman; the local
# keyring can then be populated with the keys of all official Arch Linux
# packagers with `pacman-key --populate archlinux`.
#
# REPOSITORIES
# - can be defined here or included from another file
# - pacman will search repositories in the order defined here
# - local/custom mirrors can be added here or in separate files
# - repositories listed first will take precedence when packages
# have identical names, regardless of version number
# - URLs will have $repo replaced by the name of the current repo
# - URLs will have $arch replaced by the name of the architecture
#
# Repository entries are of the format:
# [repo-name]
# Server = ServerName
# Include = IncludePath
#
# The header [repo-name] is crucial - it must be present and
# uncommented to enable the repo.
#
# The testing repositories are disabled by default. To enable, uncomment the
# repo name header and Include lines. You can add preferred servers immediately
# after the header, and they will be used before the default mirrors.
#[core-testing]
#Include = /etc/pacman.d/mirrorlist
[core]
Include = /etc/pacman.d/mirrorlist
#[extra-testing]
#Include = /etc/pacman.d/mirrorlist
[extra]
Include = /etc/pacman.d/mirrorlist
# If you want to run 32 bit applications on your x86_64 system,
# enable the multilib repositories as required here.
#[multilib-testing]
#Include = /etc/pacman.d/mirrorlist
#[multilib]
#Include = /etc/pacman.d/mirrorlist
# An example of a custom package repository. See the pacman manpage for
# tips on creating your own repositories.
#[custom]
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs

View File

@@ -0,0 +1,19 @@
#!/usr/bin/env bash
# shellcheck disable=SC2034
iso_name="FWS"
iso_label="FWS_$(date --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +%Y%m)"
iso_publisher="FWS <https://github.com/You-re-like-Windows-a-bitch/fws>"
iso_application="Replace Windows from Microsoft"
iso_version="$(date --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +%Y.%m.%d)"
install_dir="fws"
buildmodes=('iso')
bootmodes=('bios.syslinux.mbr' 'bios.syslinux.eltorito' 'uefi-x64.systemd-boot.esp' 'uefi-x64.systemd-boot.eltorito')
arch="x86_64"
pacman_conf="pacman.conf"
airootfs_image_type="squashfs"
airootfs_image_tool_options=('-comp' 'xz' '-Xbcj' 'x86' '-b' '1M' '-Xdict-size' '1M')
bootstrap_tarball_compression=(xz -9e)
file_permissions=(
["/etc/shadow"]="0:0:400"
)

View File

@@ -0,0 +1,5 @@
LABEL arch
MENU LABEL Arch Linux (%ARCH%, BIOS)
LINUX /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux
INITRD /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux.img
APPEND archisobasedir=%INSTALL_DIR% archisosearchuuid=%ARCHISO_UUID%

View File

@@ -0,0 +1,9 @@
SERIAL 0 115200
UI menu.c32
MENU TITLE Arch Linux
MENU CLEAR
DEFAULT arch
TIMEOUT 30
INCLUDE syslinux-linux.cfg