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%