# 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. ## what's included in the ISO every ISO ships with: - **all package manager binaries** (xbps, pacman, apt, dnf, apk, dpkg — whichever the distro uses) - **GPL-2.0 license files** for each package manager (see `LICENSES/`) - the packages you specified in your config - a working bootloader (GRUB) you can use the shipped package managers offline to install/upgrade/remove packages without an internet connection, as long as you have a local repo. ## install ```bash pip install . # or pipx install . ``` ## usage ```bash # 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: ```yaml 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 | package manager | |--------|---------------|--------------|-----------------| | debian | debootstrap | systemd | apt/dpkg | | ubuntu | debootstrap | systemd | apt/dpkg | | arch | pacstrap | systemd | pacman | | artix | basestrap | openrc, runit, s6, dinit | pacman | | void | xbps-install | runit, dinit | xbps | | alpine | apk | openrc | apk | | fedora | dnf | systemd | dnf | ## how it works 1. reads your yaml config 2. bootstraps the target distro into a temporary rootfs 3. installs your packages + ensures package manager binaries are present 4. configures users, services, hostname 5. installs the bootloader (GRUB) 6. copies package manager binaries + GPL-2.0 licenses into ISO 7. squashes the rootfs into a bootable ISO 8. done. ## licenses see `LICENSES/` for the full GPL-2.0 text for each package manager shipped. ## license euri-mklive itself is GPL-2.0. see `LICENSE`.