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:
@@ -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
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user