Initial commit

This commit is contained in:
2026-07-02 15:56:21 +02:00
commit 4529a3c472
92 changed files with 13593 additions and 0 deletions
+10
View File
@@ -0,0 +1,10 @@
Arch + Hyprland custom installer (live environment)
===================================================
The provisioning repo is at: /root/arch-system-th
1. Get online: iwctl (wifi) — wired works automatically
2. Set target+opts: vim /root/arch-system-th/01-install/install.conf
3. Install base: /root/arch-system-th/01-install/run.sh
4. Reboot, then run the system + user provisioning (see repo README).
+7
View File
@@ -0,0 +1,7 @@
# Packages appended to releng's package list for the live ISO.
# (Most installer tools are already in releng; listed here to be explicit/safe.)
git
arch-install-scripts
gptfdisk
dosfstools
e2fsprogs
Executable
+48
View File
@@ -0,0 +1,48 @@
#!/usr/bin/env bash
# REFERENCE / OPTIONAL — the normal flow uses the official Arch ISO + `git clone`
# (see README). Kept in case a self-contained custom ISO is ever wanted.
#
# Build the thin custom Arch ISO by extending the official `releng` profile with:
# - a few explicit installer packages (extra-packages.x86_64)
# - this repo baked into /root/arch-system-th
# - a login MOTD with install instructions (airootfs/etc/motd)
#
# Run on a machine with the `archiso` package installed (needs root for mkarchiso):
# sudo ./run.sh [output_dir]
set -euo pipefail
cd "$(dirname "$0")"
REPO_ROOT="$(cd .. && pwd)"
OUTDIR="${1:-$REPO_ROOT/out}"
RELENG=/usr/share/archiso/configs/releng
command -v mkarchiso >/dev/null || { echo "install archiso first: pacman -S archiso"; exit 1; }
[ -d "$RELENG" ] || { echo "releng profile missing at $RELENG"; exit 1; }
WORK="$(mktemp -d)"; PROFILE="$WORK/profile"
trap 'rm -rf "$WORK"' EXIT
cp -r "$RELENG" "$PROFILE"
# extra installer packages
cat extra-packages.x86_64 >> "$PROFILE/packages.x86_64"
# our airootfs overlay (motd, etc.)
cp -aT airootfs "$PROFILE/airootfs"
# bake the repo into the live root (without git history / build output)
dest="$PROFILE/airootfs/root/arch-system-th"
mkdir -p "$dest"
cp -a "$REPO_ROOT/." "$dest/"
rm -rf "$dest/.git" "$dest/out"
# mkarchiso copies airootfs with --no-preserve=mode, so exec bits are dropped and
# must be declared in profiledef's file_permissions array (the same way releng's
# own scripts get +x). We only need the bootstrap executable here; run.sh then
# restores +x across the rest of the repo at runtime, which propagates to the
# installed system. file_permissions+=(...) appends to the array defined in releng.
printf '\nfile_permissions+=(["/root/arch-system-th/01-install/run.sh"]="0:0:755")\n' \
>> "$PROFILE/profiledef.sh"
mkdir -p "$OUTDIR"
mkarchiso -v -w "$WORK/work" -o "$OUTDIR" "$PROFILE"
echo "ISO written to $OUTDIR"