c-ludenberg 3c5a357cb4 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
2026-08-26 19:01:19 +02:00

euri-mklive

universal CLI iso builder. any distro, from any distro.

build a debian iso on arch. an arch iso on fedora. an artix iso on ubuntu. doesn't matter.

install

pip install .
# or
pipx install .

usage

# see what's supported
euri-mklive supported

# build from a config
euri-mklive build my-config.yaml -o ./output

config

yaml config that defines everything:

distro: artix          # debian | ubuntu | arch | artix | void | alpine | fedora
arch: x86_64
init: dinit            # dinit | openrc | runit | s6

hostname: mydistro

iso:
  name: My Distro
  version: "1.0"
  label: MYDISTRO

users:
  - name: user
    shell: /bin/bash
    groups: [wheel]

packages:
  - linux
  - plasma-desktop
  - nano
  - git

services:
  - connmand
  - sddm

supported distros

distro bootstrap tool init systems
debian debootstrap systemd
ubuntu debootstrap systemd
arch pacstrap systemd
artix basestrap openrc, runit, s6, dinit
void xbps-install runit, dinit
alpine apk openrc
fedora dnf systemd

how it works

  1. reads your yaml config
  2. bootstraps the target distro into a temporary rootfs
  3. installs your packages
  4. configures users, services, hostname
  5. installs the bootloader
  6. squashes the rootfs into an ISO
  7. done.

license

GPL-2.0

S
Description
Universal CLI ISO builder — any distro, from any distro
Readme GPL-2.0
14 MiB
Languages
Python 51.3%
Shell 48.7%