euri-mklive: universal CLI ISO builder

- any distro from any distro (debian, ubuntu, arch, artix, void, alpine, fedora)
- YAML config for distro, arch, init, packages, users, services, bootloader
- each distro backend knows how to bootstrap itself
- squashfs + xorriso for ISO generation
- sexy CLI with banner and colored output
- examples for Artix+Euri and Project Horizon
This commit is contained in:
2026-08-26 19:01:19 +02:00
commit 3c5a357cb4
16 changed files with 880 additions and 0 deletions
+49
View File
@@ -0,0 +1,49 @@
# euri-mklive config — build any distro from any distro
#
# usage: euri-mklive build config.yaml -o ./output
#
# this example builds an Euri Linux (Artix+dinit) ISO
distro: artix # target distro: debian, ubuntu, arch, artix, void, alpine, fedora
arch: x86_64
init: dinit # init system (for arch/artix/void/alpine)
suite: # optional: release version (debian bookworm, fedora 40, etc.)
mirror: # optional: custom mirror URL
hostname: euri
iso:
name: Euri Linux
version: "1.0"
label: EURI
users:
- name: euri
shell: /bin/bash
groups: [wheel]
# password: set at install time, not in config
packages:
# base
- linux-firmware
- nano
- git
- sudo
- base-devel
# network
- connman-dinit
- wpa_supplicant
# desktop
- plasma-desktop
- sddm-dinit
- konsole
- dolphin
services:
- connmand
- sddm
# boot: grub (default) or systemd-boot
bootloader: grub
+59
View File
@@ -0,0 +1,59 @@
# euri-mklive — Project Horizon
#
# builds the independent Euri Linux ISO
# requires: horizon-packages repo built with xbps-src
#
# usage:
# 1. build packages: cd xbps-src && ./xbps-src -A x86_64-musl pkg base-system
# 2. build iso: euri-mklive build horizon.yaml -o ./output
distro: void
arch: x86_64
libc: musl
init: dinit
hostname: euri
# point to our own repo, not void's
mirror: file:///path/to/horizon-packages/x86_64-musl
iso:
name: Euri Linux
version: "0.1.0"
label: EURI
users:
- name: euri
shell: /bin/bash
groups: [wheel]
base_packages:
- base-system
- dinit
packages:
# kernel
- linux
- linux-firmware
# network
- connman-dinit
- wpa_supplicant
# build tools
- base-devel
- git
- sudo
- nano
# desktop (optional — uncomment for graphical ISO)
# - plasma-desktop
# - sddm-dinit
# - konsole
# - dolphin
services:
- connmand
# - sddm
bootloader: grub